gpt4 book ai didi

javascript - window.location 在 IE7/8 中无法正常工作

转载 作者:搜寻专家 更新时间:2023-11-01 05:26:26 25 4
gpt4 key购买 nike

我有一个 div,里面有一个 a。我想点击 div 并遵循与 a 相同的 url。这是 HTML:

<div class="overview white getchildurl">
<p class="w70">
05-02-2011
</p>
<a class="button" href="details/">Details</a>
<span class="clear"></span>
</div>

我有这个脚本:

$('.getchildurl').each(function() {     
$(this).click(function() {
var href = $(this).children('a').first().attr('href');
window.location = href;
});
});

这适用于 Firefox 3.6、Chrome、Safari,但不适用于 IE7 和 IE8。它重新加载页面,但停留在同一页面上。我检查了 var href,它有正确的 url,但没有去那里。我做错了什么?

谢谢。

编辑:将其设为绝对 URL 使其有效。这是新脚本:

$('.getchildurl').each(function() {     
$(this).click(function() {
var href = $(this).children('a').first().attr('href');
var host = window.location.hostname;
window.location = 'http://' + host + '/' + href;
});
});

最佳答案

我将此作为不同的答案发布,因为它是不同的答案。如何使用 JavaScript 解决问题而不是使用 HTML 和 CSS 解决问题。

尝试更改您的 JavaScript 以显示并确保值是您认为的值

$(this).click(function() {
var href = $(this).children('a').first().attr('href');
alert(href)
alert(href.length)
window.location = href;
});

这将显示 hrefhref 长度。确保长度匹配。如果长度太大,则表示存在隐藏字符。

如果您确定问题是由语法引起的,许多 URL 修复/转换都可以使用 JavaScript 完成。例如,删除尾部斜杠可以用

$(this).click(function() {
var href = $(this).children('a').first().attr('href');
window.location = href.replace(/\/$/, '');
});

此外,如果可以解决问题,可以使用 JavaScript 将 URL 转换为绝对 URL。任何其他麻烦甚至不可见的字符都可以删除或替换。

您能否在互联网上发布一个网页,我们可以访问该网页以在我们自己的 IE 副本上查看问题?你能发布一个我们可以复制到我们的机器并在浏览器中查看的 HTML 文件吗?你对另一个问题的评论告诉我你有某种 XHTML strict DOCTYPE。如果我们中的任何一个人能够让问题发生在我们这一端,它就更有可能得到解决。

关于javascript - window.location 在 IE7/8 中无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4818868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com