Javascript 如何读取a<;中的json内容;脚本>;标签?
因此,当我想在网页上放置Google+1按钮时,我会这样做: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
<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,''));