【问题标题】:Javascript widget inside JQueryJQuery 中的 Javascript 小部件
【发布时间】:2013-03-10 10:53:13
【问题描述】:

我们使用的是Ning平台,为了在博客内容下方(但在评论部分之前)添加一个新的容器DIV,我们在body标签之前添加了以下内容:

<script type="text/javascript">
if (typeof(x$) != 'undefined') {
x$("DIV.xg_module.xg_blog.xg_blog_detail.xg_blog_mypage.xg_module_with_dialog").after('<div>CONTENT GOES HERE </div>');
}
else{
}
</script>

但是,我们需要加载的内容是来自附属程序的 javascript,该程序向我们发送了此代码以添加到该 div 中:

<div style="width:750px;">
<div style="border-bottom:1px solid #FFFFFF;color:#FFFFFF;font-family:Arial,Helvetica,sans-serif;font-size:22px;font-weight:bolder;margin-bottom:10px;padding-bottom:2px;text-transform:uppercase;">From Around the Web</div>
<script type='text/javascript'>
var _CI = _CI || {};
(function() {
var script = document.createElement('script');
ref = document.getElementsByTagName('script')[0];
_CI.counter = (_CI.counter) ? _CI.counter + 1 : 1;
document.write('<div id="_CI_widget_');
document.write(_CI.counter+'"></div>');
script.type = 'text/javascript';
script.src = 'http://widget.crowdignite.com/widgets/29949?_ci_wid=_CI_widget_'+_CI.counter;
script.async = true;
ref.parentNode.insertBefore(script, ref);
})(); </script>
</div>

显然,这是行不通的。

问题:有没有更好的方法来做到这一点?这只是所有冲突的 's 和 "s 的问题吗?有没有更简单的方法来格式化或输出它?它是否失败是因为在 JQuery 已经运行页面加载后它根本没有加载 javascript?我有一直在尝试不同的东西,但似乎没有任何效果,我的眼睛已经准备好从眼窝里跳出来了,因为我知道我错过了一些愚蠢的东西,所以我想我应该多关注一下。

感谢任何帮助/想法/建议。

【问题讨论】:

  • 看看你是否可以让脚本在一个简单的(Ning-less)页面中运行,然后逐步构建额外的功能。仅供参考,我试图让脚本工作,但失败了。
  • 联属网络营销计划中的 javascript 是合理的(这与 Facebook 的“点赞”小部件非常相似)。我似乎无法弄清楚如何使用顶部代码将该块代码加载到页面中。我仍在尝试各种方法(例如使用退货,或尝试将附属代码保存为自己的 .js 并从外部加载),但我只是卡住了。我会继续努力的。

标签: javascript jquery syntax


【解决方案1】:

尝试将新的 script 元素附加到页面的 head 元素中。大多数动态脚本加载器都会这样做。

有关示例,请参阅 Ways to add javascript files dynamically in a page

【讨论】:

    猜你喜欢
    • 2011-03-24
    • 2010-10-31
    • 2016-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-06
    相关资源
    最近更新 更多