什么';如果关闭或禁用JavaScript,允许浏览器返回链接的最佳方法是什么?
我想向列表中添加一些Ajax排序选项。由于到目前为止我的网站运行时没有JavaScript,我想让它为那些关闭了JavaScript的人、旧的/移动的浏览器或noscript保持运行什么';如果关闭或禁用JavaScript,允许浏览器返回链接的最佳方法是什么?,javascript,jquery,compatibility,Javascript,Jquery,Compatibility,我想向列表中添加一些Ajax排序选项。由于到目前为止我的网站运行时没有JavaScript,我想让它为那些关闭了JavaScript的人、旧的/移动的浏览器或noscript保持运行 如果启用了JavaScript,我如何在单击链接时运行JavaScript块,如果没有启用JavaScript,则让该链接将浏览器指向新页面。我想远离黑客的noscript标记。我想你可以将新页面的URL放在HREF中,然后从onClick事件处理程序返回false,以阻止获取链接。如果未启用JS,则onClick
如果启用了JavaScript,我如何在单击链接时运行JavaScript块,如果没有启用JavaScript,则让该链接将浏览器指向新页面。我想远离黑客的noscript标记。我想你可以将新页面的URL放在HREF中,然后从onClick事件处理程序返回false,以阻止获取链接。如果未启用JS,则onClick将不会运行,这意味着将遵循HREF。您的链接需要指向其他非JavaScript页面的有效HREF值,并且在单击事件中,您需要返回false,以避免启用JavaScript的浏览器跟随链接:
<a id="aboutLink" href="about-us.html">About Us</a>
为了很好地分离关注点,最好使用attachEvent(IE)或addEventListener(标准)(或对您隐藏该关注点的工具包,如Prototype、jQuery、MooTools、YUI、Glow等),然后从JavaScript中取消事件。假设存在这种联系:
<a href='foo' id='mylink'>Link text</a>
您不必为链接分配ID,有很多方法可以找到ID以外的DOM元素,但这是一个方便的示例
jQuery等将有自己版本的event.stop(),但归根结底是取消事件。我将使用:
$('a')。单击(函数(e){
e、 preventDefault();//停止浏览器执行以下操作
$('#someDiv').load('content.php');
});
如果没有Javascript,则会使用HREF。我只需写下没有Javascript的HTML,然后在启用Javascript的情况下修改内容 如果启用了JS,则在构建站点时,站点的加载速度可能会稍微慢一点,看起来可能有点奇怪,但功能仍然存在。
如果JS被禁用,站点将保持原样,非JS用户也可以访问该站点对不起,您的帖子中没有jQuery标签,没有意识到您正在寻找jQuery示例。有人刚刚对页面上的所有内容(包括问题)投了否决票!这很奇怪,一定有人今天过得不好。这个想法是UI完全相同,但新内容加载的方式不同。
<a href='foo' id='mylink'>Link text</a>
// Hook up your handler on page load
document.observe("dom:loaded", function() {
// Look up the link, apply your handler
$('mylink').observe('click', yourHandler);
});
// Your handler:
function yourHandler(event) {
// Prevent the default action
event.stop();
// ...your code here...
}
$('a').click(function(e) {
e.preventDefault(); //stop the browser from following
$('#someDiv').load('content.php');
});
<a href="no-script.html">Load content</a>