javascript: l oop сквозные чехлы - PullRequest
0 голосов
/ 17 апреля 2020

Функция ниже проверяет родительский URL-адрес, чтобы определить, существуют ли буквы 'pid' в строке запроса родительского URL-адреса. (это в кросс-домене iFrame). Приведенная ниже функция работает в iFrame в Chrome, но не в Safari, а IE.

В Safari и IE, похоже, игнорирует 'document.referrer' и вместо этого использует document.location, document .location.href, window.location, window.location.href и document.documentURI, чтобы определить, существует ли это в строке запроса родительского URL.

Я хотел бы l oop или цикл через каждый из них, просматривая URL-адрес, чтобы увидеть, включает ли он строку запроса с буквами «PID» в нем. Как лучше проверить каждый из них, прежде чем перейти к другому или по умолчанию?

function colorchange() {
var match = /\?.*?pid/.test(document.referrer);

if (match) {
     console.log("pid pm");
  } else {
     console.log("standard pm");
  }
}

colorchange();

1 Ответ

0 голосов
/ 17 апреля 2020

Вы можете получить массив ожидаемых объектов & l oop через них, чтобы найти совпадение.

Вот псевдокод, который вы можете попробовать.

var pid_testers = [
  window.location.href,
  document.referrer,
  ..
];

var match = pid_testers.some(function (val) {
  if(... logic ..) {
    return val;
  }
});

// This will break when it finds a match..
...