【发布时间】:2020-04-04 03:33:13
【问题描述】:
我的网站上有两种不同的模式,一种具有要定位的特定域,另一种定位具有域website.com 的所有页面。两种模式都针对document.referrer,并且每个模式都有不同的ID(#closureModal 和#parkModal)。
我的问题是 #parkModal 在所有页面上触发(而不是特定页面:website.com/parks/park1、website.com/acitivies/park1 等),因为它以域 website.com 开头。
我怎样才能允许两个不同的模态以document.referrer 为目标而没有一个出现在它不应该出现的地方? 如何将 document.referrer 与两个不同的模态一起使用?
这是#closureModal的代码:
const tsp = ["website.com"];
const closureReferrer = document.referrer;
const referrer_hostname = closureReferrer !== "" ? new URL(closureReferrer).hostname : "";
if (tsp.includes(referrer_hostname)) {
console.log("Don't Show Modal", closureReferrer);
} else {
console.log("Show Modal", closureReferrer);
$( window ).on('load', function() {
console.log("closure modal firing");
$('#closureModal .closure').modal({
backdrop: 'static',
keyboard: false,
show: true
});
});
}
#parkModal 类似代码:
const domains = ["https://website.com/parks/park1", "https://website.com/parks/events/park1", "https://website.com/parks/events/park1", "https://website.com/parks/promotions/park1", "https://website.com/parks/go-green/park1", "https://website.com/parks/info/park1", "https://website.com/parks/activities/park1", "https://website.com/parks/events/park1/#/?park=park1"];
const parkReferrer = document.referrer;
if (domains.includes(parkReferrer)) {
console.log("Don't Show Modal - from Cummins page", parkReferrer);
} else {
console.log("Show Modal - From other Page", parkReferrer);
$( window ).on('load', function() {
console.log("park modal firing");
$('#parkModal').modal({
backdrop: 'static',
keyboard: false,
show: true
});
});
}
【问题讨论】:
标签: javascript debugging modal-dialog referrer