【问题标题】:Can't load multiple document.write scripts无法加载多个 document.write 脚本
【发布时间】:2011-02-10 12:15:51
【问题描述】:

我正在尝试将多个 document.write 脚本加载到单个文档中。像这样:

:DocWrite.js

document.write('<a href="#"><img src='myimage.gif'/></a>');

MyHTML.html

$('.myclass').each( function( index, element ){
    var script = unescape('%3Cscript src="'+DocWrite.js+'" type="text/javascript"%3E%3C/script%3E');
    $(element).html( script );

});
<div class="myclass">document.write loads image here</div>
<div class="myclass">stops here and hangs</div>
<div class="myclass">same</div>

第一个 div 加载脚本并在其中写入图像,但之后停止。我只想更改 DocWrite.js,但我无权访问它。有什么想法可以解决这个问题吗?提前致谢。

【问题讨论】:

  • 尝试使用document.body.innerHTML+="content to add" 而不是document.write()
  • 我无权访问 DocWrite.js
  • 哦,那么我看到的唯一可能性是覆盖 document.write 函数,但我真的不确定我是否应该推荐这个,因为我不知道它是否可行或有什么缺点是。

标签: javascript jquery loops document.write


【解决方案1】:

我认为您在 DocWrite.js 周围缺少一些引号,请尝试以下操作:

$('.myclass').each( function( index, element ){
    var script = unescape('%3Cscript src="' + 'DocWrite.js' + '"type="text/javascript"%3E%3C/script%3E');
    $(element).html( script );
});

我刚刚在“DocWrite.js”周围添加了单引号。如果没有引号,JavaScript 解释器会认为 DocWrite 是一个对象,并且您正在尝试访问该对象的 js 属性。

【讨论】:

    猜你喜欢
    • 2014-03-10
    • 2012-01-09
    • 2013-11-24
    • 2018-11-06
    • 1970-01-01
    • 2015-02-08
    • 2021-06-18
    • 2013-06-21
    • 1970-01-01
    相关资源
    最近更新 更多