如何调试由于JavaScript而无法工作的书签锚
我遇到了一个问题,我认为我所有包含锚书签的链接(即:“/index.php#top”)都不能与FireFox一起使用。我得出的结论是,我正在开发的Joomla 2.5模板中存在一些JavaScript,它正在清除我页面中包含哈希标记的所有链接(使它们不会出现在任何地方) 要了解我在说什么,下面是我的模板,它工作正常: 以下是我的模板,其中包含问题: 在此页面上(在两个模板上),主要内容顶部的图像链接应向下链接到其下面的相应部分(即:“#白色”)如何调试由于JavaScript而无法工作的书签锚,javascript,joomla,anchor,conflict,bookmarks,Javascript,Joomla,Anchor,Conflict,Bookmarks,我遇到了一个问题,我认为我所有包含锚书签的链接(即:“/index.php#top”)都不能与FireFox一起使用。我得出的结论是,我正在开发的Joomla 2.5模板中存在一些JavaScript,它正在清除我页面中包含哈希标记的所有链接(使它们不会出现在任何地方) 要了解我在说什么,下面是我的模板,它工作正常: 以下是我的模板,其中包含问题: 在此页面上(在两个模板上),主要内容顶部的图像链接应向下链接到其下面的相应部分(即:“#白色”) 如何诊断哪些Javascript代码正在杀死包
如何诊断哪些Javascript代码正在杀死包含哈希标记的链接?(最好是使用FireFox,但任何方法都可以)我最近不得不解决这个问题。我发现使用jQuery来监听和管理事件是最有效的解决方案。下面是我使用的代码示例:
JHtml::_('jquery.framework');
jQuery(document).on('click', '#go-to-my-anchor', function(e) {
e.preventDefault();
window.location.hash = '#my-anchor';
});
我发现,在jqm.init.js文件的下半部分,在加载JQuery mobile之前,一些设置被初始化和/或停用。默认情况下,其中有几行被注释掉了,我发现有两行对应于处理带有散列的链接,就像我的问题一样 我已经确保以下几行没有注释,以允许浏览器而不是JQuery进行正常的链接处理(我非常确定)
如果有人认为这有问题,请告诉我,因为我承认我是JS编码新手…谢谢@user3295190的回复,但我觉得我对JS编码太不熟悉了,我甚至不知道该把这段代码放在哪里实现。。。
$(document).bind("mobileinit", function() {
...
$.mobile.linkBindingEnabled = false;
$.mobile.hashListeningEnabled = false;
...
});