我在我的页面中包含了一个时髦的脚本(来自德国社交网络VZ),这需要我插入一个包含自定义“语言”的脚本块:
<script type="vz/login">
client_id : c47a1d7f134b88c9f12448e08f2ef7289e9fc8
redirect_uri : http://game.example.com/vzcallback.html
callback : logResponse
fields : emails,gender,birthday
</script>
我可以在运行时使用Javascript(没有PHP或其他服务器端代码)将这样的块插入到我的页面中吗?我需要这个动态设置client_id
。
此外,我还需要插入类似的内容:
<script src="https://secure.studivz.net/Js/id/v4/library.js"
data-authority="platform-redirect.vz-modules.net/r"
data-authorityssl="platform-redirect.vz-modules.net/r" type="text/javascript">
</script>
但我不认为添加这些data-
属性将是一项艰巨的挑战。
答案 0 :(得分:1)
是的,你可以,
var el = document.createElement("script");
el.setAttribute("type","vz/login");
el.innerHTML = "client_id : "+new_client_id
+"\nredirect_uri : http://game.example.com/vzcallback.html"
+"\ncallback : logResponse"
+"\nfields : emails,gender,birthday";
document.body.appendChild(el);
对于第二次剪辑使用
var headID = document.getElementsByTagName("head")[0];
var newScript = document.createElement('script');
newScript.type = 'text/javascript';
newScript.src = 'https://secure.studivz.net/Js/id/v4/library.js';
newScript.setAttribute("data-authority","platform-redirect.vz-modules.net/r");
newScript.setAttribute("data-authorityssl", "platform-redirect.vz-modules.net/r");
headID.appendChild(newScript);
答案 1 :(得分:0)
您可以在运行时将vz / login脚本节点添加到dom。但是你需要确保在正在寻找它的JS之前添加了 vz / login节点。