gpt4 book ai didi

javascript - 通过 JavaScript 渲染时,IE 不会将链接标记为 "visited"

转载 作者:行者123 更新时间:2023-12-03 03:26:17 24 4
gpt4 key购买 nike

我正在使用一个网站,其中所有内容都是使用 jquery 通过 ajax 回发呈现的。我正在使用 Ben Alman 的 hashchange ( http://benalman.com/projects/jquery-hashchange-plugin/ ) 来管理哈希历史记录,它允许我为页面添加书签、使用后退按钮等......当然,除了 IE 9 之外,一切都可以完美运行。在 IE 中,存在一个小问题,即“已访问”链接未标记为已访问。您可以看到,在加载新内容之前单击链接后,该链接会瞬间变成紫色(已访问)。但是,一旦您单击后退按钮,该链接就会显示为从未被访问过。这是我正在谈论的 jfiddle 示例: http://jsfiddle.net/7nj3x/3/

这里是 jsfiddle 代码,假设你有 jquery 和 head 中引用的 hashchange 插件:

$(function(){
// Bind an event to window.onhashchange that, when the hash changes, gets the
// hash and adds the class "selected" to any matching nav link.
$(window).hashchange( function(){
alert("Hash changed to:"+location.hash);
var hash = location.hash;
// Set the page title based on the hash.
document.title = 'The hash is ' + ( hash.replace( /^#/, '' ) || 'blank' ) + '.';
//simulate body being rendered by ajax callback
if(hash == ""){
$("body").html("<p id='nav'><a href='#test1'>test 1</a> <a href='#test2'>test 2</a> <a href='#test3'>test 3</a></p>");
}
else{
$("body").html("Right click within this pane and select \"Back\".");
}
})
// Since the event is only triggered when the hash changes, we need to trigger
// the event now, to handle the hash the page may have loaded with.
$(window).hashchange();
});

最佳答案

您可以简单地使用 IE 条件注释来加载特定样式:

<!--[if IE]>
a:visited {
padding-left: 8px;
background: url(images/checkmark.gif) no-repeat scroll 0 0;
}
<![endif]-->

关于javascript - 通过 JavaScript 渲染时,IE 不会将链接标记为 "visited",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18919388/

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