TOGOUTECH

javascript - 如何知道动态创建的脚本标签被执行了?

coder 2024-05-16 原文

我正在动态创建脚本标签:

var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.charset = 'utf-8';
script.defer = true;
script.async = true;
script.text = 'some my javascript content here';
head.appendChild(script);

script.onload = function () {
    // this never get fired..
    debugger;
}

当脚本在其他代码块中执行时如何得到通知?也许是一些事件?

最佳答案

我能够通过向脚本添加一个 ID,然后在 JS 中手动触发该 DOM 元素上的加载事件来实现这一点。仅在 Chrome 中测试,根据 MDN 在旧版 IE 中会出现问题).

var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.charset = 'utf-8';
script.id = 'testing';
script.defer = true;
script.async = true;
script.onload = function () {
    console.log('The script is loaded');
}
script.text = ["console.log('This is from the script');",
               "var script = document.getElementById('testing');",
               "var event = new UIEvent('load');",
               "script.dispatchEvent(event);"].join('');
head.appendChild(script);

Fiddle

关于javascript - 如何知道动态创建的脚本标签被执行了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25688786/

有关javascript - 如何知道动态创建的脚本标签被执行了?的更多相关文章

  1. c# - 无法在 Mac OS X 上打开使用 SharpZipLib 创建的 ZIP 文件 - 2

    啊,今天是愚蠢问题的一天,我是个白痴。我有一个应用程序可以创建一个zip文件,其中包含来自某个目录的一些JPEG。我使用此代码是为了:从目录中读取所有文件将它们分别附加到ZIP文件中using(varoutStream=newFileStream("Out2.zip",FileMode.Create)){using(varzipStream=newZipOutputStream(outStream)){foreach(stringpathnameinpathnames){byte[]buffer=File.ReadAllBytes(pathname);ZipEntrye

  2. c# - 如何在 itextsharp pdf 创建中设置单元格宽度 - 2

    如何使用C#在itextsharppdf单元格中设置单元格宽度和高度。我只是用cell.width=200f;但它应该显示错误信息。widthcannotbeset.我该怎么办?.. 最佳答案 您没有设置单元格的宽度。您应该设置列的宽度。您可以通过将它们应用于表格对象来做到这一点:float[]widths=newfloat[]{1f,2f};table.SetWidths(widths);Neha的回答是设置表格对象的宽度更多引用资料在这里:http://www.mikesdotnetting.com/Article/86/iTe

  3. c# - 在 C# 中找出文件所有者/创建者 - 2

    这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Getting/settingfileownerinC#我搜索了Internet但没有找到如何获取文件创建者/所有者在FileInfo类中只有lastAccessTime、Size等其他属性,但没有所有者/创建者。有人知道答案吗?

  4. c# - 在 C# 中更新标签位置? - 2

    我有一个返回值的方法,我希望这个值成为Windows窗体应用程序中标签的新位置。但有人告诉我标签的位置不是变量。objectA是标签的名称。objectA.Location.X=(int)A.position;objectA.Refresh();我该怎么做? 最佳答案 使用Left属性更改Label的X坐标objectA.Left=100; 关于c#-在C#中更新标签位置?,我们在StackOverflow上找到一个类似的问题: https://stackov

  5. c# - 在 MVC 上执行编辑时如何保留某些字段的原始值? - 2

    如您所知,当我们要修改数据时,我们将进入编辑页面:publicActionResultEditAdmin(intUserId){Useruser=persons.Users.Find(id);returnView(user);}然后我们在编辑页面提交,它会修改:publicActionResultEditAdmin(Useruser){persons.Entry(user).State=EntityState.Modified;persons.SaveChanges();}但问题是,我有很多字段不需要修改:publicclassUser{publicintUserId{get;set;

  6. C# 在 X 秒后执行操作 - 2

    我想开发一个Windows控制台应用程序,它在给定时间后定期执行一个操作。我在某处读到计时器类仅适用于Windows窗体应用程序,那么完成我想要的东西的最佳方法是什么? 最佳答案 Originalmessage:Iwrotethissampleconsoleapplication(usingC#4.0[asindicatedbythedefaultparameters]).It'sextremelyversatileandutilizestheActiondelegatetoallowpassingsnippetsthaty

  7. c# - 更新后台 worker winforms中的标签文本 - 2

    我正在使用BackGroundWorker类在sqlserver中插入一些值。我在这里有for循环来插入值。我正在使用以下代码publicvoidbw_Convert_DoWork(objectsender,DoWorkEventArgse){e.Result=e.Argument;for(inti=0;i<fTable.Rows.Count;i++){try{SqlCommandcmd=newSqlCommand("INSERTINTOTBL_CDR_ANALYZER(LNG_UPLOAD_ID,DAT_START,LNG_DURATION,INT_DIRECTION,

  8. c# - Visual Studio - 通过设计器在标签中添加换行符? - 2

    我有一个标签,我想用它来显示一些文本。我想显示几段文字。有没有办法通过设计器在文本中换行?(\n\r只显示\n\r)这是WinForms(其实是CompactFramework) 最佳答案 选择标签旁边的下拉菜单。然后您可以使用Enter键输入换行符。 关于c#-VisualStudio-通过设计器在标签中添加换行符?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2714977

  9. C# 创建对齐网格功能 - 2

    我正在尝试创建一些要在运行时使用的对齐网格功能,但我在对齐部分遇到了问题。我已经成功地在面板上绘制了一个虚线网格,但是当我向面板添加标签控件时,如何将标签的左上角捕捉到最近的点?谢谢 最佳答案 我认为接受的答案不正确。原因如下:如果网格宽度=3,x上的a点像4应该映射到3但x=5应该映射到6。使用Pedery的答案它们都将映射到3。为了获得正确的结果,您需要像这样四舍五入(如果点是分数,您可以使用float)://让我们说吧。intgridCubeWidth=3;intgridCubeHeight=3;intnewX=Math.Ro

  10. c# - 无法为泛型类型创建 TypeConverter - 2

    我想创建一个TypeConverter对于通用类,像这样:[TypeConverter(typeof(WrapperConverter<T>))]publicclassWrapper<T>{publicTValue{//get&set}//othermethods}publicclassWrapperConverter<T>:TypeConverter<T>{//onlysupportToandFromstringspublicoverrideboolCanConvertFrom(ITypeDescriptorContextcon

随机推荐

  1. c# - 从 Server.UrlEncode 获取大写字符串 - 2

    我希望它的输出为大写。这是我在Server.UrlEncode("http://")上得到的:http%3a%2f%2f但我需要:http%3A%2F%2F是否有C#中的内置解决方案?编码后的url应作为签名基础字符串(输入签名算法)来创建摘要(哈希)。哈希随后将被其他系统(java、php等)验证,因此他们需要先通过签名重建来重新创建哈希。 最佳答案 这会将字符串中的所有转义字符大写。stringurl="http://whatever.com/something";stringlower=Server.UrlEn

  2. c# - 不使用 Array.Reverse() 反转数组 - 2

    如何在不使用Array.Reverse()方法的情况下反转数组(在C#中)?例如,int[]arr={1,3,4,9,8};//somecodehereConsole.WriteLine(string.Join(",",arr));应该导致8,9,4,3,1我得到这个作为面试任务。 最佳答案 要替换问题中的//somecodehere的代码是:for(inti=0;i<arr.Length/2;i++){inttmp=arr[i];arr[i]=arr[arr.Length-i-1];arr[arr.Lengt

  3. c# - 从 URL 字符串中提取查询字符串 - 2

    我正在阅读历史,我希望当我遇到谷歌查询时,我可以提取查询字符串。我没有使用请求或httputility,因为我只是在解析一个字符串。然而,当我遇到这样的URL时,我的程序无法正确解析它:http://www.google.com.mt/search?client=firefox-a&rls=org.mozilla%3Aen-US%3Aofficial&channel=s&hl=mt&source=hp&biw=986&bih=663&q=hotmail&meta=&btnG=Fittex+bil-Google我试图

  4. c# - 检查图像的宽度和高度 - 2

    我可以通过以下代码在不检查文件大小的情况下在图片框中显示图片:privatevoidbutton3_Click_1(objectsender,EventArgse){try{//GettingTheImageFromTheSystemOpenFileDialogopen=newOpenFileDialog();open.Filter="ImageFiles(*.jpg;*.jpeg;*.gif;*.bmp)|*.jpg;*.jpeg;*.gif;*.bmp";if(open.ShowDialog()==DialogResult.OK){Bitmapimg=newBitm

  5. c# - MVC RequireHttps 如果不是 https 则重定向 - 2

    我已经通读了许多关于ASP.NETMVC[RequireHttps]的问题-但找不到这个问题的答案:如果开头不是https,如何使[RequireHttps]属性将url切换为https?我有这个代码:publicActionResultDoSomething(){returnView("AnotherAction");}[RequireHttps]publicActionResultAnotherAction(){returnView();}但我收到一条错误消息:“请求的资源只能通过SSL访问。”MVCfutures项目有一个类似的属性[RequireSsl(Redi

  6. C#:显示一个不可见的窗体 - 2

    我在C#中有以下代码:Formf=newMyForm();f.Visible=false;f.Show();f.Close();尽管有f.Visible=false,我还是看到了窗体的闪光,然后消失了。我需要做什么才能使此表单不可见?我需要在我的应用启动期间(不可见地)显示表单,因为这样做可以消除显示此表单时的冷启动延迟。 最佳答案 如果你想显示表单而不实际看到它,你可以这样做:publicForm1(){InitializeComponent();this.FormBorderStyle=System.Windows.Forms.

  7. c# - 解码Base64图像 - 2

    我在HTML中嵌入了一个Base64图像,如何使用C#或VB.net对其进行解码。 最佳答案 google.com>base64图像解码c#>http://www.eggheadcafe.com/community/aspnet/2/39033/convert-base64-string-to-image.aspxByte[]bitmapData=Convert.FromBase64String(FixBase64ForImage(ImageText));System.IO.MemoryStreamstreamBitmap=newS

  8. c# - 如果 typeof(int?) 是 Int32,Nullable.GetUnderlyingType 有什么用? - 2

    为什么typeofint?是Int32int?x=1;Console.WriteLine(x.GetType().Name);如果可以,那么Nullable.GetUnderlyingType有什么用? 最佳答案 调用GetType()装箱你的变量。CLR有一条特殊规则Nullable<T>装箱到T.所以x.GetType将返回Int32而不是Nullable<Int32>.int?x=1;x.GetType()//Int32typeof(int?)//Nullable<Int32>自Nullab

  9. c# - 正确使用 C# 属性 - 2

    privateList<Date>_dates;publicList<Date>Dates{get{return_dates;}set{_dates=value;}}或publicList<Date>Dates{get;set;}我一直使用前者,这是不正确的做法还是不好的做法?我从来没有想过我可以只使用第二个选项。我确实喜欢让我的封装变量以下划线开头,这样我就可以将它们与方法参数区分开来。我一直都是这样做的。是否有可能使用第一个选项会导致额外的List<Date>对象被实例化,然后整个_dates被替换为value,还是比这更聪明?此外,

  10. c# - 如果 if 结构的第一部分为假,会发生什么? - 2

    我想知道当程序处理具有多个条件的if结构时会发生什么。我有一个想法,但我不确定。我举个例子:List<string>myTestList=null;if(myTestList!=null&&myTestList.Count>0){//process}列表为空。在处理if语句时,是否会从左到右,一条件不成立就退出if?我已经试过了,似乎没有抛出任何错误,所以我假设上面的解释是对的,但我不确定。 最佳答案 重要的是&&。这是短路,所以永远不会计算Count;从左到右评估条件。还有一个非短路运算符(&),