繁体   English   中英

使用jQuery在div中加载需要javascript的页面

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM