首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过AJAX加载通过jQuery加载内联Javascript

通过AJAX加载通过jQuery加载内联Javascript
EN

Stack Overflow用户
提问于 2013-11-12 05:14:09
回答 2查看 775关注 0票数 0

我有一个与这个问题类似的问题。

通过AJAX加载通过jQuery加载Javascript?

我希望使用Ajax和JQuery的.load()将HTML页面加载到div容器中。html页面上有javascript,可以从http://www.showmyweather.com/加载天气小部件。

这是一个脚本:

代码语言:javascript
运行
复制
<script type="text/javascript" src="http://www.showmyweather.com/weather_widget.php?    int=0&type=js&country=ca&state=Ontario&city=Hamilton&smallicon=1&current=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()中;这将很好,但我无法理解。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-12 05:25:48

代码语言:javascript
运行
复制
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&current=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>');
票数 0
EN

Stack Overflow用户

发布于 2013-11-12 05:59:24

这就是在Asset.javascript中使用mootools的方式

代码语言:javascript
运行
复制
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}),它将在窗口中加载脚本。只需要在选项和脚本中传递一个外部文档。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19921379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档