我在我的应用程序布局文件中有一个外部javascript文件,它有几行代码,最后运行像BooManager.init()
这样的函数没什么大不了的......
这是我如何使用它:
<script type="text/javascript">
bb_bid = "1615455";
bb_lang = "en-US";
bb_keywords = "iphone4s, apple";
bb_name = "custom";
bb_limit = "8";
bb_format = "bbb";
</script>
<%= javascript_include_tag "http://widgets.boo-box.com/javascripts/embed.js" %>
但它并没有做任何事情......
我已经尝试过简单的html文件并且它有效......我做错了什么?
注:
html中的默认方式是:
<script type="text/javascript">
bb_bid = "1615455";
bb_lang = "en-US";
bb_keywords = "keywords, between, commas";
bb_name = "custom";
bb_limit = "8";
bb_format = "bbb";
</script>
<script type="text/javascript" src="http://static.boo-box.com/javascripts/embed.js"></script>
- 编辑 -
rails生成的结果:
<script type="text/javascript" src="http://static.boo-box.com/javascripts/embed.js"></script>
答案 0 :(得分:0)
使用<%=
方法加载时,它不会评估脚本。我不熟悉那种语法,但从效果来看,这听起来就是这样。它将脚本视为html而不是代码。
jQuery有一个脚本加载函数,它将从URL动态获取脚本,然后eval()
来执行它。
使用示例代码更新
将jQuery添加到您的应用中:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
然后用它来加载你的脚本:
$.getScript('http://widgets.boo-box.com/javascripts/embed.js');
更新号码2
我能够在这个小提琴中复制问题:http://jsfiddle.net/7x2zT/4/
如果您要完成的任务是在脚本显示窗口小部件之前激活您的参数 - 默认设置看起来像侧边栏,而您的参数使其更像横幅,那么只需确保将参数放在上面<script src
的东西。
如果您必须能够动态加载,那么您将不得不弄清楚嵌入代码中的错误位置,或者是否有其他一些激活方法。该网站的文档似乎不是英文版,所以我无法帮助解决这个问题。