我有一个与这个问题类似的问题。
我希望使用Ajax和JQuery的.load()将HTML页面加载到div容器中。html页面上有javascript,可以从http://www.showmyweather.com/加载天气小部件。
这是一个脚本:
<script type="text/javascript" src="http://www.showmyweather.com/weather_widget.php? int=0&type=js&country=ca&state=Ontario&city=Hamilton&smallicon=1¤t=1&forecast=1&background_color=ffffff&color=000000&width=175&padding=10&border_width=1&border_color=000000&font_size=11&font_family=Verdana&showicons=1&measure=C&d=2013-11-11"></script>除了将脚本内联到html页面之外,我不知道如何将小部件包含在DOM中。如果有一种方法可以使用此脚本并将其添加到使用$.getscript()中;这将很好,但我无法理解。
发布于 2013-11-12 05:25:48
var element = document.createElement("iframe");
document.body.appendChild(element);
var frame = window.frames[windows.frames.length - 1];
frame.document.write('<scr' + 'ipt type="text/javascript" src="http://www.showmyweather.com/weather_widget.php?int=0&type=js&country=ca&state=Ontario&city=Hamilton&smallicon=1¤t=1&forecast=1&background_color=ffffff&color=000000&width=175&padding=10&border_width=1&border_color=000000&font_size=11&font_family=Verdana&showicons=1&measure=C&d=2013-11-11"></sc'+ 'ript>');发布于 2013-11-12 05:59:24
这就是在Asset.javascript中使用mootools的方式
var loadScript = function (source, properties) {
properties || (properties = {});
var script = document.createElement('script');
script.async = true;
script.src = source;
script.type = 'text/javascript';
var doc = properties.document || document, load = properties.onload || properties.onLoad;
return delete properties.onload, delete properties.onLoad, delete properties.document,
load && (script.addEventListener ? script.addEventListener("load", load) : script.attachEvent("readystatechange", function() {
[ "loaded", "complete" ].indexOf(this.readyState) >= 0 && load.call(this);
}))
doc.getElementsByClassName("head")[0].appendChild(script);
}现在您可以调用loadScript("script url", {document: window.frames[0].document}),它将在窗口中加载脚本。只需要在选项和脚本中传递一个外部文档。
https://stackoverflow.com/questions/19921379
复制相似问题