【问题标题】:Help with Javascript Link Replacement帮助 Javascript 链接替换
【发布时间】:2011-11-10 05:02:03
【问题描述】:

我正在尝试完成我网站的 webapp 版本。我真的很接近,但我唯一遇到的麻烦是将 a href 转换为 javascript 链接(以便文章在应用程序中打开而不是在 Mobile Safari 中打开)。我以为我找到了一个简单的脚本来帮助我,但事实证明该脚本也与我的 cmets 插件 (Disqus) 混淆了。我将在下面发布脚本,但是有什么方法可以让脚本转换所有链接除了 div“disqus_thread”中的那些? 我研究了可能的替代方案,但我能找到的唯一解决方案是使用脚本并指定所有其他 div。希望这里有人可以帮助我:P 谢谢, 马特

   <script>
     var a=document.getElementsByTagName("a");
     for(var i=0;i<a.length;i++)
     {
     a[i].onclick=function()
     {
     window.location=this.getAttribute("href");
     return false
     }
     }
   </script>

【问题讨论】:

    标签: javascript jquery iphone wordpress href


    【解决方案1】:

    我不知道你为什么要这样做。因为您将锚的 href 属性设置为 window.location 无论如何都将通过锚的默认行为来完成。

    如果你想选择除disqus_thread 内的所有锚点并执行你的逻辑,你可以试试这个。确保在页面中包含 jQuery 库。

    $(":not(#disqus_thread)").find("a").click(function(){
       window.location.href = this.href;
       return false;
    });
    

    【讨论】:

    • 感谢您的回复。我在标题中包含了 jQuery,但由于某种原因,同样的问题不断发生(点击在 Disqus 中写评论,我被重定向到“thepageurl/null”。原始脚本
    • Disqus 是一个评论系统,可以远程为 cmets 提供服务。该插件调用 Disqus cmets 而不是您的主题/Wordpress 的默认系统,并将其自身放入自己的 div 中,“disqus_thread”。
    • 是的(填写文本以便我可以评论:P)
    猜你喜欢
    • 2010-09-24
    • 2011-05-16
    • 2014-03-08
    • 1970-01-01
    • 2014-03-09
    • 1970-01-01
    • 2011-06-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多