繁体   English   中英

在脚本标签的 src 内使用 JavaScript 变量

[英]Use a JavaScript variable inside src of script tag

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>

上面的代码显示了趋势图。

注意上面 URL 中的q=iphone 在这种情况下,我想传递一个 JavaScript 变量值,而不是像 iPhone 那样硬编码一个固定值。

如何在脚本标签的 src 中使用 JavaScript 变量?

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

我的尝试

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

我的尝试是在这里的 JS Fiddle

问题是,页面加载后你不能这样做。 查看脚本的来源

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,它不会工作。

经过数小时的努力,我终于找到了使用 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>');


});

后记

工作演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM