如何访问window对象的location属性?

时间:2017-12-30 21:29:57

标签: javascript jquery

我在访问window对象的location属性时遇到问题,我需要通过JavaScript / jQuery将用户重定向到另一个页面。我知道你通常应该使用.htaccess文件来执行此操作,但我实际上是在编写一个nw.js应用程序,所以我没有服务器。

以下是一个示例源代码:

<!DOCTYPE html>
<html>
<head>
  <title>Test</title>
  <script src="http://code.jquery.com/jquery-3.2.1.js">
  </script>
  <script>
  $(function() {
    $("#testbutton").click(function() {
      $("#testbutton).before($(window).attr("location"));
    });
  });
  </script>
</head>
<body>
  <button type="button" id="testbutton">Click me</button>
</body>
</html>

如果有效,则应该获取location属性的值,并在单击按钮时将其插入按钮之前。

实际上,它没有做任何事情。我还尝试将location属性的值赋给变量,或者用普通的JavaScript(我打算避免)写这个,但是没有改变没有任何反应的事实。

是否可以通过jquery访问window对象的location属性?如果有可能,我的错误是什么?

我想在更改之前首先打印该值,因为我喜欢逐步开发项目。我知道这段代码不会改变location属性,但我想知道为什么它甚至没有得到这个值?

2 个答案:

答案 0 :(得分:1)

您不需要jQuery ....只需直接访问location.href

$(function() {
  $("#testbutton").click(function() {
    $("#testbutton").before(location.href);
  });
});
<script src="//code.jquery.com/jquery-3.2.1.js"></script>
<button type="button" id="testbutton">Click me</button>

答案 1 :(得分:1)

窗口对象是一个全局对象,有许多属性可以读取和编辑,其中一个属性是位置对象,它不是一个文本,它是一个保存有关当前位置和网址,但您可以使用 location.href 访问当前网址,然后您可以在任意位置插入此文字,请看下面的示例

&#13;
&#13;
@CacheEvict
&#13;
$(function() {
    $('#testbutton').click(function() {
        var currentUrl = window.location.href;
        $('#testbutton').before(currentUrl+'<br>');
    });
});
&#13;
&#13;
&#13;