2017-07-24 22 views
0

所以我寫了一個腳本。它需要使用網址參數來確定要在網站上展示的廣告。如下所示,你可以看到發生了什麼。如果將?layout = layout1,2,3附加到URL,則存儲變量。如何在此腳本中使用if語句?

// Parse the URL 
function getURLParameter(name) { 
    name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); 
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"), 
    results = regex.exec(location.search); 
    return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " ")); 
} 

islayout = getURLParameter('layout'); 

if (islayout == "layout1") {    
    localStorage.setItem("layoutvalue", 1); 
} 

if (islayout == "layout2") {    
    localStorage.setItem("layoutvalue", 2); 
} 

if (islayout == "layout3") {    
    localStorage.setItem("layoutvalue", 3); 
} 
else { 
    var layoutvalue = 0; 
} 

進一步在整個頁面上......然後,我會有一個代碼,可以使用上面收到的變量來確定要執行的廣告代碼。

if (localStorage.getItem("layoutvalue") == 1){ 
    // Ad Code for 1st set of users 
} 

if (localStorage.getItem("layoutvalue") == 2){ 
    // Ad Code for 2nd Set of users 
} 
else { 
    // Ad code for all users 
} 

所以這一切都很好,現在我的問題是,當我得到以下格式的廣告代碼如下所示。

<script type="text/javascript" id="adblockid" 
src="https://cdn.adnetwork.com/blahblah.min.js?w=12345&"></script> 

如何使用if語句來控制何時執行此腳本?因爲此腳本的代碼不在腳本標記之間,而是在腳本標記之外。

讓我知道。

謝謝。

+0

更多條件和/或事件。 – PHPglue

+0

@phpglue你是什麼意思?抱歉? – johndoe

+0

爲什麼你的搜索網址看起來像這樣?您想要運行代碼的條件是什麼?我沒有測試'getURLParameter()',但整個事情看起來像一個糟糕的策略。你想做什麼? – PHPglue

回答

0

您是否嘗試將腳本附加到身體?

var s = document.createElement("script"); 
s.type = "text/javascript"; 
//Change Source depending on your ad values 
s.src = "https://cdn.adnetwork.com/blahblah.min.js?w=12345&"; 
$("head").append(s); 
+0

你能解釋一下嗎?上面的代碼是否可以直接輸入到if語句中? – johndoe

+0

如果我理解正確,你可以通過做這樣的事情來實現你想要的: var s = document.createElement(「script」); s.type =「text/javascript」; if(localStorage.getItem(「layoutvalue」)== 1){src =「https://cdn.adnetwork.com/blahblah.min.js?w=layout1value」;如果(localStorage.getItem(「layoutvalue」)== 2){ s.src =「https://cdn.adnetwork.com/blahblah.min.js?w=layout2value」; } else { s.src =「https://cdn.adnetwork.com/blahblah.min.js?w=defaultvalue」; } $(「head」)。append(s); –

+0

感謝您的回覆Ricky! 這沒有奏效。我需要在打開的箭頭括號內添加數據,而不是封閉的數據。 johndoe