Использование jQuery для отображения динамического контента в IE11 - PullRequest
0 голосов
/ 12 февраля 2019

Мне сложно показывать контент в IE11.Я пытался показать / скрыть и видимый / скрытый.Следующий код отлично работает в Chrome, Firefox и Safari со следующими URL-адресами:

http://localhost/test/dynamicURL.html?v=0 (отображает сообщение для первого посещения) http://localhost/test/dynamicURL.html?v=1 (отображает сообщение для повторного посещения)

У меня также есть следующее после открывающей метки:

<meta http-equiv="X-UA-Compatible" content="IE=edge">

Но IE11 игнорирует его и отображает все.Я начал создавать скрипку для этого, но JSFiddle и IE11 больше не играют вместе.Вот тестовая страница, которую я создал локально:

window.onload = function() {
    if (window.jQuery) {  
        // jQuery is loaded  
        alert("jQuery works!");
    } else {
        // jQuery is not loaded
        alert("jQuery doesn't work.");
    }
}

$(document).ready(function() {
	var visitor = new URL(location);
	var newvisitor = visitor.searchParams.get("v")
	if (newvisitor == '0') {
		console.log("New visitor.")	
		$('#welcomeNew').css("visibility","visible");
		$('#welcomeBack').css("visibility","hidden");
	}
	else {
		console.log("Returning visitor.")
		$('#welcomeBack').show();
		$('#welcomeNew').hide();
	}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<section id="welcomeNew">
  <h1>Welcome to AT&amp;T!</h1>
  <p>We're so glad you're visiting us for the first time.</p>
</section>
<section id="welcomeBack">
  <h1>Welcome back!</h1>
  <p>We're so glad you're back!</p>
</section>

1 Ответ

0 голосов
/ 12 февраля 2019

API URL не поддерживается в IE11, что означает, что эти строки завершатся сбоем и приведут пользователя к предложению else {}:

var visitor = new URL(location);
var newvisitor = visitor.searchParams.get("v");

Редактировать: Вот несколько полезных проверок на равенство для выполнения в жестко запрограммированных тестах.

let newvisitor = 0; // <-- var is fine, too, but not const

console.log('==, testing number 0 against string equality')
if (newvisitor == '0') {
  console.log("New visitor.")
} else {
  console.log("Returning visitor.")
}

console.log('==, testing number 0 against numeric equality')
if (newvisitor == 0) {
  console.log("New visitor.")
} else {
  console.log("Returning visitor.")
}

newvisitor = "0";

console.log('==, testing string "0" against string equality')
if (newvisitor == '0') {
  console.log("New visitor.")
} else {
  console.log("Returning visitor.")
}

console.log('==, testing string "0" against numeric equality')
if (newvisitor == 0) {
  console.log("New visitor.")
} else {
  console.log("Returning visitor.")
}

newvisitor = 0;

console.log('===, testing number 0 against string equality')
if (newvisitor === '0') {
  console.log("New visitor.")
} else {
  console.log("Returning visitor.")
}

console.log('===, testing number 0 against numeric equality')
if (newvisitor === 0) {
  console.log("New visitor.")
} else {
  console.log("Returning visitor.")
}

newvisitor = "0";

console.log('===, testing string "0" against string equality')
if (newvisitor === '0') {
  console.log("New visitor.")
} else {
  console.log("Returning visitor.")
}

console.log('===, testing string "0" against numeric equality')
if (newvisitor === 0) {
  console.log("New visitor.")
} else {
  console.log("Returning visitor.")
}

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...