【发布时间】:2017-07-24 22:28:14
【问题描述】:
所以我写了一个脚本。它使用 URL 参数来确定要在网站上展示的广告。如下图所示,您可以看到发生了什么。如果 ?layout=layout1,2,3 附加到 URL,则存储变量。
// 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 语句来控制此脚本何时执行?因为此脚本的代码不在脚本标签之间,而是在脚本标签之间。
告诉我。
谢谢。
【问题讨论】:
-
更多条件和/或事件。
-
@phpglue 你是什么意思?对不起?
-
为什么您的搜索 URL 看起来像这样?您希望运行代码的条件是什么?我没有测试
getURLParameter(),但整个事情看起来像是一个糟糕的策略。你想做什么? -
从 URL 中获取参数(例如 website.com/?layout=layout1)并使用 url 参数来确定在网站上执行的广告。我唯一遇到的问题是尝试如何让底部脚本与 if 语句一起使用。
标签: javascript if-statement url-parameters