IE6 또는 IE7에서이 코드가 작동하지 않는 이유는 무엇입니까? 링크가 IE6 나 IE7에서 클릭 몇 가지 이유로 IE6 및 IE7에서 Javascript "확인"
$('a').click(
function()
{
var urlIsExternal = true;
var urlMedicareDir = '/medicare/';
var urlMedicareHost = 'health.healthcare.com';
var urlMedicare = 'https://' + urlMedicareHost + urlMedicareDir;
var urlAppsHost = 'apps.healthcare.com';
var urlCurrent = String(window.location);
var urlCurrentPrefix = urlCurrent.substring(0, urlMedicare.length);
var urlCurrentURL = $.url(urlCurrent);
var urlClicked = $(this).attr('href');
var urlClickedURL = $.url($(this).attr('href'));
var urlHost = urlClickedURL.attr('host');
if(!urlHost.length)
{
urlHost = urlCurrentURL.attr('host');
}
var urlConfirmMessage = 'You are now leaving the Medicare website.';
if(urlCurrentPrefix == urlMedicare)
{
if(urlClicked.substring(0, 1) == '/') // starts with slash
{
if(urlClicked.substring(0, urlMedicareDir.length) == urlMedicareDir)
{
urlIsExternal = false;
}
}
if(urlClicked.substring(0, urlMedicare.length) == urlMedicare)
{
urlIsExternal = false;
}
if (
urlClicked.substring(0, 1) != '/' &&
urlClicked.substring(0, 4) != 'http' &&
urlClicked.substring(0, 4) != 'file'
)
{
urlIsExternal = false;
}
if(urlAppsHost == urlHost)
{
urlIsExternal = false;
}
if(urlClicked.substring(urlClicked.length-4) == '.pdf')
{
urlIsExternal = false;
}
}
else
{
urlIsExternal = false;
}
if(urlIsExternal)
{
if(confirm(urlConfirmMessage))
{
window.open(urlClicked);
return false;
}
else
{
return false;
}
}
else
{
return true;
}
}
);
, 그들은 링크로 사용자를하지 않으며 그것은 확인 대화 상자를 표시하지 않습니다. 그것은 확인 대화 상자를 프롬프트해야하지만, 어떤 이유로, 그렇지 않습니다.
당신은 오류 콘솔에서 오류를보고 있습니까? – jfriend00
코드 팁 :'String (window.location)이 아니라'window.location.href'. – Ryan
가능한 한 가장 작은 경우에 문제를 좁힐 수 있다면 도움이 될 것입니다! 코드의 핵심 부분에 의미있는'alert()'호출을 삽입하여 코드가 실행되고 있는지 확인하십시오. – aaaidan