2012-01-09 76 views
0

我包括一个时髦的脚本(从德国社交网络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-将是一个艰难的挑战。

回答

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); 
0

您可以在运行时VZ /登录脚本节点添加到DOM。但是你需要确保在寻找它的JS的之前已经添加了vz/login节点。