Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何读取a<;中的json内容;脚本>;标签?_Javascript_Html - Fatal编程技术网

Javascript 如何读取a<;中的json内容;脚本>;标签?

Javascript 如何读取a<;中的json内容;脚本>;标签?,javascript,html,Javascript,Html,因此,当我想在网页上放置Google+1按钮时,我会这样做: <script type="text/javascript" src="https://apis.google.com/js/plusone.js"> {lang: 'zh-TW'} </script> 因为URL是已知的,所以非常简单: JSON.parse( document.querySelector("script[src='https://apis.google.com/js/pluso

因此,当我想在网页上放置Google+1按钮时,我会这样做:

<script type="text/javascript" src="https://apis.google.com/js/plusone.js">
  {lang: 'zh-TW'}
</script>

因为URL是已知的,所以非常简单:

JSON.parse(
    document.querySelector("script[src='https://apis.google.com/js/plusone.js']")
        .innerHTML.replace(/^\s+|\s+$/g,'')
);

也就是说,正如Alohci在评论中指出的,页面上的最后一个脚本将是脚本运行时加载的最后一个脚本,因为(除非另有规定)脚本正在阻塞。因此,这将有助于:

var scripts = document.getElementsByTagName('script');
var data = JSON.parse(scripts[scripts.length-1].innerHTML.replace(/^\s+|\s+$/g,''));

他们将最后插入的脚本标记的字符串内容解析为json。是否关闭为太本地化?为什么?@Derek:我相信这是你帖子的基调。你应该重写它,明确显示你想做什么和你尝试过什么,而不是问“谷歌”是如何做到的,而是你如何做到的。“谷歌是如何做到这一点的?”是一个可怕的问题标题。@WesleyMurch-我认为这就是原因。写问题不太好…也许plusone.js以一个开放的变量赋值结束,比如“var lang=”?我想这也行:
src=“//api.google.com/js/plusone.js”
,因为脚本一经解析就会运行,所以我相信一种常见的做法是只获取DOM中的最后一个脚本元素,而不是依赖于匹配src属性。
var scripts = document.getElementsByTagName('script');
var data = JSON.parse(scripts[scripts.length-1].innerHTML.replace(/^\s+|\s+$/g,''));