[英]Using jQuery to load a page that require javascript in a div
我创建了一个简单的函数来将浮动可调整大小的内容附加到页面:
function CreateFloatingWindow(id) {
var win = document.createElement('div');
$(win).attr('id', id);
$(win).height(100).width(300).css('background-color', 'red');
$(win).resizable().draggable();
$(win).appendTo($('body'));
$(win).load('http://www.fantasy-mmorpg.com/fowiki/#1419~2');
}
CreateFloatingWindow('first');
该代码工作的很好,除了当加载的页面有某种JavaScript的内部,在这种情况下,结果是“请允许执行Javascript”消息像这样
我认为该消息是由目标页面本身处理的,但是我无法访问其源代码。
有没有一种方法可以使目标页面理解我启用了我的JavaScript,即使它是通过jQuery加载到div中的呢?
注意,以上代码需要jQuery和jQuery-UI才能正常运行。
我一直在仔细研究并注意以下几点:
首先, jQuery .load()文档中的此子句可能会引起一些启发 :
脚本执行
使用不带后缀选择器表达式的URL调用
.load()
,将在删除脚本之前将内容传递给.html()
。 这将在脚本块被丢弃之前执行它们。 但是,如果使用附加到URL的选择器表达式调用.load()
,则脚本将在DOM更新之前被删除, 因此不会执行 。 两种情况的示例如下所示:在这里,任何作为文档一部分加载到#a中的JavaScript都将成功执行。
1
$('#a').load('article.html');
但是,在以下情况下,将文档中正在加载到#b中的脚本块删除并且不执行:
1
$('#b').load('article.html #target');
针对不同的浏览器检查消息“请激活JavaScript”,我不确定这是脚本级别还是浏览器级别。 但是我非常确定“ Please Enabled JavaScript ”可能是HTML回退<noscript>
-如果它根本不执行任何JavaScript。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.