Javascript 如何访问窗口对象的位置属性?
我在访问窗口对象的location属性时遇到问题,需要通过JavaScript/jQuery将用户重定向到另一个页面。我知道您通常应该使用.htaccess文件来执行此操作,但实际上我正在编写一个nw.js应用程序,所以我没有服务器 下面是一个示例源代码:Javascript 如何访问窗口对象的位置属性?,javascript,jquery,Javascript,Jquery,我在访问窗口对象的location属性时遇到问题,需要通过JavaScript/jQuery将用户重定向到另一个页面。我知道您通常应该使用.htaccess文件来执行此操作,但实际上我正在编写一个nw.js应用程序,所以我没有服务器 下面是一个示例源代码: <!DOCTYPE html> <html> <head> <title>Test</title> <script src="http://code.jquery.co
<!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>
试验
$(函数(){
$(“#测试按钮”)。单击(函数(){
$(“#测试按钮).before($(窗口).attr(“位置”);
});
});
点击我
如果成功的话,应该获取location属性的值,并在单击按钮时将其插入按钮之前
事实上,它没有任何作用。我还尝试将location属性的值赋给一个变量,或者用纯JavaScript编写(我打算避免这样做),但这两者都没有改变什么都没有发生的事实
可以通过jquery访问窗口对象的location属性吗?如果可以,我的错误是什么
我想在更改之前先打印值,因为我喜欢一步一步地开发项目。我知道这段代码不会更改location属性,但我想知道为什么它甚至不获取值?您不需要jQuery….直接访问
location.href
$(函数(){
$(“#测试按钮”)。单击(函数(){
$(“#测试按钮”)。之前(location.href);
});
});
单击我
您不需要jQuery…直接访问位置href
$(函数(){
$(“#测试按钮”)。单击(函数(){
$(“#测试按钮”)。之前(location.href);
});
});
单击我
窗口对象是一个全局对象,具有许多可以读取和编辑的属性,其中一个属性是位置对象,它不是文本,它是一个包含有关当前位置和url的一些信息的对象,但您可以使用位置来访问当前url位置。href然后你可以在任何你想要的地方插入这个文本,看看下面的例子
$(函数(){
$(“#测试按钮”)。单击(函数(){
var currentUrl=window.location.href;
$(“#测试按钮”)。在(currentUrl+”
”)之前;
});
});
点击我
窗口对象是一个全局对象,具有许多可读取和编辑的属性,其中一个属性是位置对象,它不是文本,它是一个包含有关当前位置和url的一些信息的对象,但您可以使用位置.href和n您可以在任意位置插入此文本,请参见下面的示例
$(函数(){
$(“#测试按钮”)。单击(函数(){
var currentUrl=window.location.href;
$(“#测试按钮”)。在(currentUrl+”
”)之前;
});
});
点击我
您是否尝试通过window.top.location.href阅读href?在($(window.attr)(“location”);
之前($(window.attr)(“location”);通过$(“#testbutton”)。在(location.href);
)之前您是否尝试通过window.top.location.href
在($(window.attr)(“location”)之前阅读href$(“#testbutton”)。在(location.href)
)之前,SO代码段发生了一些奇怪的事情……如果从jQuerysrc
中删除http:
,它会工作……如果添加s
类似于https:
,它会工作(即使这不是一个安全链接……)但是指定http:
会导致Uncaught ReferenceError:$未定义
…这很奇怪。那么bug呢?@louyspatricebesette不确定您的意思。我没有注意协议(从OP代码复制)…正在firefoxChrome中为我使用http…正如我所描述的那样,不起作用。可能这与浏览器相关,因为Chrome对SSL很挑剔。@LouysPatriceBesette我将其更改为协议相关…现在应该可以工作了吗?是的,现在可以。;)SO代码段发生了一些奇怪的事情…如果从jQu中删除http:
erysrc
,它可以工作…如果你在https:
中添加一个s
,它可以工作(即使这不是一个安全链接…),但是指定http:
会导致未捕获引用错误:$未定义
。这很奇怪。那么bug呢?@Louyspatricebesette不确定你的意思。我没有注意协议(复制自操作代码)…正在firefoxChrome中为我使用http…不起作用,正如我所描述的。可能这与浏览器有关,因为Chrome对SSL很挑剔。@LouysPatriceBesette我将其更改为协议相关…现在应该可以工作了吗?是的。现在可以了。。)