我尝试制作响应宽度的Google趋势图表。但它不会工作。它正在加载它应该是的URL。当我尝试加载外部JavaScript时,我的页面上不会显示任何图表。任何人都可以帮我或者给我一个提示吗?
这是我的代码:
<h1>Google Trends</h1>
<script>
$(document).ready(function(){
var chartwidth = ($('.content').innerWidth());
$(function () {
$('<script>')
.attr('type', 'text/javascript')
.attr('src', '//www.google.com/trends/embed.js?hl=de&q=waffenbesitzkarte,+waffenpass,+waffenschein&geo=AT&date=today+24-m&cmpt=q&tz=Etc/GMT-1&tz=Etc/GMT-1&content=1&cid=TIMESERIES_GRAPH_0&export=5&w=' + chartwidth + '&h=330')
.replaceAll('#chartA');
});
$(function () {
$('<script>')
.attr('type', 'text/javascript')
.attr('src', '//www.google.com/trends/embed.js?hl=de&q=waffenrecht,+waffengesetz,+waffenbesitz&geo=AT&date=today+24-m&cmpt=q&tz=Etc/GMT-1&tz=Etc/GMT-1&content=1&cid=TIMESERIES_GRAPH_0&export=5&w=' + chartwidth + '&h=330')
.replaceAll('#chartB');
});
});
</script>
<div id="chartA"></div>
<div id="chartB"></div>
这是我更新的代码:
<h1>Google Trends</h1>
<script>
$(document).ready(function(){
var chartwidth = ($('.content').innerWidth());
$.getScript('//www.google.com/trends/embed.js?hl=de&q=waffenbesitzkarte,+waffenpass,+waffenschein&geo=AT&date=today+24-m&cmpt=q&tz=Etc/GMT-1&tz=Etc/GMT-1&content=1&cid=TIMESERIES_GRAPH_0&export=5&w=' + chartwidth + '&h=330', function(data){
$('#chartA').append(data);
});
$.getScript('//www.google.com/trends/embed.js?hl=de&q=waffenrecht,+waffengesetz,+waffenbesitz&geo=AT&date=today+24-m&cmpt=q&tz=Etc/GMT-1&tz=Etc/GMT-1&content=1&cid=TIMESERIES_GRAPH_0&export=5&w=' + chartwidth + '&h=330', function(data){
$('#chartB').append(data);
});
});
</script>
<div id="chartA"></div>
<div id="chartB"></div>
答案 0 :(得分:1)
您只是在创建一个jQuery
标记的<script>
对象,而您并未参与DOM。如果你想包含一个外部JS文件,并且你正在使用jQuery,那么
$.getScript("yourScript.js", function(){
// Callback when script is completely loaded.
});
在您的情况下,请执行:
$.getScript('//www.google.com/trends/embed.js?hl=de&q=waffenbesitzkarte,+waffenpass,+waffenschein&geo=AT&date=today+24-m&cmpt=q&tz=Etc/GMT-1&tz=Etc/GMT-1&content=1&cid=TIMESERIES_GRAPH_0&export=5&w=' + chartwidth + '&h=330', function(){
});
答案 1 :(得分:0)
http://www.google.com/trends/embed.js?hl=de&q=waffenbesitzkarte,+waffenpass,+waffenschein&geo=AT&date=today+24-m&cmpt=q&tz=Etc/GMT-1&tz=Etc/GMT-1&content=1&cid=TIMESERIES_GRAPH_0&export=5&w=400&h=330 将返回一个javascript代码片段,它尝试执行document.write。您试图异步加载javascript($。getScript),并且浏览器不允许异步加载的外部脚本写入文档。
你可以做的是通过使用与使用getScript()加载相同的src添加脚本标记来加载谷歌图表的脚本。
希望这有帮助!