【问题标题】:Get url before leave page离开页面前获取url
【发布时间】:2014-02-12 16:12:19
【问题描述】:

我有一个带有许多随机 href <a> 标签的网站,这些标签用于重定向到另一个页面。当单击带有javascript的链接并设置return false并使用ajax打开该页面并将其显示在DIV中时,是否可以获得浏览器尝试重定向的页面?我已经在尝试使用 onclick,但如果可能的话,我需要另一种简单的方法。

任何答案表示赞赏。

【问题讨论】:

标签: javascript jquery


【解决方案1】:
 $("a").on('click',function(){
 event.preventDefault();
 url=$(this).attr('href');

 });

试试这个

【讨论】:

  • 我能知道为什么在这里使用 event.preventDefault() 这将对我以后的编码更有帮助,顺便说一句谢谢你的回答。
  • 不会移动到下一页并停止您的页面。在这里查看api.jquery.com/event.preventdefault
  • 这里的事件是什么?
【解决方案2】:
    <div id="links">
        <a href="imalink-a" />Link A</a>
        <a href="imalink-b" />Link B</a>
    </div>

    <div id="content"></div>

    $('#links').on('click','a',function(e){
        e.preventDefault();
        var link = $(this).prop('href');
        console.log(link);

        $( "#content" ).load( link );
    });

【讨论】:

    【解决方案3】:

    是的,这是可能的。

    $("a").on('click', function(e){
      // avoid the normal function of the <a>
      e.preventDefault();
      var href = $(this).attr("href");
      console.log(href);
      var current_location = $(location).attr('href');
      console.log(current_location);
      //make your ajax request here
      $("#google").load(href);
    });
    

    【讨论】:

    • 这仅适用于同一域内的请求。
    【解决方案4】:

    http://jsfiddle.net/upsidown/J3Nvu/

    $(".popup").click(function(e) {
    
        // Prevent browser from following the link
        e.preventDefault();
    
        // Get the href attribute value
        var url = $(this).attr("href");
    
        // Display it or do what you want here
        $("#result").html("Clicked " + url);
    });
    

    【讨论】:

      【解决方案5】:
      链接 A 链接 B
       <div id="AjaxDiv"></div>
      
      <script type="text/javascript">
       function AjaxLoad(URL)
        {
            $("#AjaxDiv").load(URL);
        }
      </script>
      
                                      **OR**
      
      
      <div>
              <a href="javascript:void(0);" data-href="demo.aspx" class="ajaxload" />Link A</a>
              <a href="javascript:void(0);" data-href="2_demo.aspx" class="ajaxload" />Link B</a>
      </div>
       <div id="AjaxDiv"></div>
      
      <script type="text/javascript">
       $(document).ready(function() {
            $(".ajaxload").click(function() {
                    $("#AjaxDiv").load($(this).attr("data-href"));
            });
       });
      </script>
      

      【讨论】:

        【解决方案6】:
        <a href="link1" onclick="return false;" />Link A</a>
        <a href="link2" onclick="return false;" />Link B</a>
        <a href="link3" onclick="return false;" />Link C</a>
        <a href="link4" onclick="return false;" />Link D</a>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-06-17
          • 1970-01-01
          • 2011-10-28
          • 2015-07-21
          • 1970-01-01
          • 2013-03-01
          相关资源
          最近更新 更多