在script标签的src中使用javascript变量

时间:2014-05-27 11:13:21

标签: javascript jquery variables attributes embed

Google提供了它的脚本嵌入代码,可以通过将此代码放入我们的网站来显示趋势图。

<script type="text/javascript" src="//www.google.com.pk/trends/embed.js?hl=en-US&q=iphone&cmpt=q&content=1&cid=TIMESERIES_GRAPH_0&export=5&w=500&h=330"></script>

以上代码显示趋势图。

请注意上述网址中的q=iphone。在这种情况下,我想传递一个javascript变量值,而不是硬编码像iphone这样的固定值。

如何在脚本标记的src中使用Javascript变量?

我尝试以编程方式创建脚本,它会注入脚本代码,但脚本不会被执行。

我的尝试

document.body.appendChild(document.createElement('script')).src= varHavingScriptURL;

我的尝试DEMO FIDDLE HERE

Jsfiddle或demo会有所帮助。

由于

2 个答案:

答案 0 :(得分:0)

问题是,页面加载后你无法做到这一点。查看脚本的来源

document.write('<iframe width="500" ... </iframe>');

因此,您需要在页面呈现时执行此操作,因为document.write

现在看看你做了什么

document.body.appendChild(document.createElement('script')).src = varHavingScriptURL;

那不行,你需要分手

var scr = document.createElement('script');
scr.src = varHavingScriptURL;
document.getElementsByTagName("head")[0].appendChild(scr);

但同样,由于document.write,它无法正常工作。

答案 1 :(得分:0)

经过几个小时的努力,我找到了使用PostScribe的解决方案。

 // jQuery used as an example of delaying until load.


$(function
 () {
// Build url params and make the ad call
  var str= "magic";
postscribe('#ad', '<script src=//www.google.com.pk/trends/embed.js?hl=en-US&q='+str+'&cmpt=q&content=1&cid=TIMESERIES_GRAPH_0&export=5&w=500&h=330><\/script>');


});

Postscribe

Working Demo