标签: window.location

window.location.href不重定向

我知道这是一个很多讨论的问题,但我无法弄清楚为什么它对我不起作用.

这是我的功能:

function ShowComments(){

 alert("fired");
 var movieShareId = document.getElementById('movieId');
 //alert("found div" + movieShareId.textContent || movieShareId.innerText);
 //alert("redirect location: /comments.aspx?id=" + movieShareId.textContent || movieShareId.innerText + "/");
 window.location.href = "/comments.aspx?id=" + movieShareId.textContent || movieShareId.innerText + "/";
 var newLocation = window.location;
 //alert("full location: " + window.location);

}
Run Code Online (Sandbox Code Playgroud)

如果我取消注释警报或者我打开了mozilla的bugzilla,它可以正常工作,否则它不会重定向到另一页.

有什么想法吗?

javascript window.location dom-events

18
推荐指数
7
解决办法
11万
查看次数

更改哈希时重新加载页面

更改哈希时重新加载页面.

我有一个简单的单页网站,上面有几个"页面".这些页面位于一个宽容器中,当您选择一个容器时会滚动.我在URL中添加了一个哈希值,以便您可以直接找到特定页面.这只是在与switch语句中的哈希匹配时设置style.left属性.

问题是当我更改URL中的哈希值时.例如,将其从Home.html #Web更改为Home.html#Photos.执行此操作时,页面不会重新加载,因此我创建的安装程序函数不会调用哈希,并且页面只保留在原来的位置.

有关强制页面重新加载的方法的任何想法?还是更好的解决方案?

谢谢,安迪

javascript url hash window.location

17
推荐指数
1
解决办法
1万
查看次数

使用window.location在iPad上不起作用

我正在使用一些JavaScriptURL在一段固定的时间后将用户重定向到另一个用户.这在所有浏览器上运行良好,但在iPad 3上我必须测试它不起作用.超时触发,我打电话

window.location = "www.someurl.com"; 
Run Code Online (Sandbox Code Playgroud)

而我也试过了

  window.location.href = "www.someurl.com";
Run Code Online (Sandbox Code Playgroud)

我可以看到URL浏览器中的更改www.someurl.ocom但浏览器实际上没有去那里 - 它停留在同一页面上.

有什么特定的iPad我必须做才能使这项工作?

谢谢

javascript window.location ios

14
推荐指数
1
解决办法
2万
查看次数

window.location.href不起作用

我的网站是http://www.collegeanswerz.com/.我正在使用rails.该代码用于搜索大学.我希望用户能够输入大学名称,单击输入,然后转到网址,而不是查看搜索结果(如果用户正确输入名称.如果不是,我想显示搜索结果) .我正在使用"a"和"stackoverflow.com"作为占位符,而我试图让它工作.

我正在使用window.location.href基于此:如何在JavaScript/jQuery中重定向到另一个网页?

JavaScript的

$("#search_text").submit(function() {
    if ($("#search_field").val() == "a")
    {
        window.location.href = "http://stackoverflow.com";
        alert('worked');
    }
});
Run Code Online (Sandbox Code Playgroud)

布局文件

<%= form_tag("/search", :method => 'get', :id => 'search_text', :class => 'form_search') do -%> 
    <div id="search"> <%= search_field_tag :search, params[:search], :placeholder => 'enter college', :id => "search_field", :class => 'input-medium search-query' %></div> 
<% end -%>
Run Code Online (Sandbox Code Playgroud)

static_pages_controller.rb

def search
  @colleges = College.search(params[:search])
end
Run Code Online (Sandbox Code Playgroud)

警报正在运行,它告诉我if语句中的内容应该被执行.但它带我到正常的搜索结果而不是stackoverflow.com.为什么是这样?

jquery ruby-on-rails window.location

14
推荐指数
1
解决办法
10万
查看次数

Javascript:如何捕获导航到使用window.location.href = url的页面上的错误

我正在使用REST服务生成一个CSV文件,我想提示用户下载.该服务的一个例子如下:

https://localhost:8444/websvc/exportCSV?viewId=93282392

要提示用户下载文件,我使用以下代码:

window.location.href = exportUrl,其中exportUrl一个URL就像上面的那个.

如果在执行服务时服务器上没有错误,这种方法很有用.出现文件下载提示,页面不刷新,一切正常.

然而,如果一个错误,我越来越讨厌的HTTP状态500页,这是不利于用户体验.我想做的是在结果页面上捕获任何错误,并在不离开当前页面的情况下抛出更友好的错误.我试过了:

try {
    window.location.href = exportUrl;
}
catch (e) {
    alert(e);
}
Run Code Online (Sandbox Code Playgroud)

但这似乎并没有改变行为.有没有人对如何处理这个有任何想法?

非常感谢.

javascript error-handling try-catch window.location

14
推荐指数
1
解决办法
1万
查看次数

直接使用window.location.href是否安全,无需验证

在没有任何验证的情况下使用window.location.href是否安全?

例如:

<script>
    var value = window.location.href;
    alert(value);
</script>
Run Code Online (Sandbox Code Playgroud)

从上面的例子来看,它是否容易受到跨站点脚本(XSS)攻击?如果是,那怎么样?攻击者如何将window.location.href的值修改为恶意内容?

编辑(第二种情况)

这是网址:www.example.com?url = www.attack.com

假设我有一个getQueryString()函数,它将在没有验证的情况下返回值.

<script> 
    var value = getQueryString('url'); 
    window.location.href = value; 
</script>
Run Code Online (Sandbox Code Playgroud)

同样的问题,它是否容易受到跨站点脚本(XSS)攻击?如果是,那怎么样?攻击者如何才能使用"window.location.href = value"来执行XSS?

javascript security xss href window.location

14
推荐指数
1
解决办法
3万
查看次数

在Jasmine测试中模拟window.location.reload

window.location.reload在我的javascript中创建了一个函数.

我需要在Jasmine中测试时模拟重载函数,因为它继续循环.

我跑的时候测试顺利grunt jenkins.但不是在浏览器中测试(mozilla/chrome).

这是我的代码片段.

使用Javascript:

window.location.reload();
Run Code Online (Sandbox Code Playgroud)

茉莉花测试:

spyOn(window.location, 'reload').and.callFake(function(){});
Run Code Online (Sandbox Code Playgroud)

有人可以帮我这个吗?

mocking window.location jasmine

14
推荐指数
1
解决办法
2万
查看次数

window.location.search查询为JSON

有没有更好的方法将URL的location.search转换为对象?也许只是更有效率或减少?我正在使用jQuery,但纯JS也可以工作.

var query = window.location.search.substring(1), queryPairs = query.split('&'), queryJSON = {};
$.each(queryPairs, function() { queryJSON[this.split('=')[0]] = this.split('=')[1]; });
Run Code Online (Sandbox Code Playgroud)

search jquery json window.location

12
推荐指数
5
解决办法
2万
查看次数

window.location()与GET请求相同吗?

windows.location(url)如果url的域是当前页面的域,那么在执行时是否保留cookie ?

javascript get window.location

11
推荐指数
2
解决办法
1969
查看次数

JavaScript location.href调用是异步的吗?

function fun(){
    console.log("Hi");
    window.location.href="http://www.google.com";
    console.log("Hello, how are you");
    alert("I am good");
    fun1();
}

function fun1(){
console.log("Whats up??");
}
Run Code Online (Sandbox Code Playgroud)

如果你看到上面的代码行在location.hrefconsole.log之前被调用("你好,你好吗"),alert和fun1().

当我调用fun()它时执行下面的所有语句location.href然后重定向到https://www.google.com.

所以我的问题是," location.href呼叫本质上是异步的,如果不是,那么这里发生了什么"?

因为我认为它将用户重定向到其他页面的那一刻,它下面的代码行将永远不会执行.

任何帮助/解释表示赞赏!

谢谢

javascript window.location

11
推荐指数
1
解决办法
3420
查看次数