2012-01-09 67 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節點。