我知道这是一个很多讨论的问题,但我无法弄清楚为什么它对我不起作用.
这是我的功能:
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,它可以正常工作,否则它不会重定向到另一页.
有什么想法吗?
更改哈希时重新加载页面.
我有一个简单的单页网站,上面有几个"页面".这些页面位于一个宽容器中,当您选择一个容器时会滚动.我在URL中添加了一个哈希值,以便您可以直接找到特定页面.这只是在与switch语句中的哈希匹配时设置style.left属性.
问题是当我更改URL中的哈希值时.例如,将其从Home.html #Web更改为Home.html#Photos.执行此操作时,页面不会重新加载,因此我创建的安装程序函数不会调用哈希,并且页面只保留在原来的位置.
有关强制页面重新加载的方法的任何想法?还是更好的解决方案?
谢谢,安迪
我正在使用一些JavaScript会URL在一段固定的时间后将用户重定向到另一个用户.这在所有浏览器上运行良好,但在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我必须做才能使这项工作?
谢谢
我的网站是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.为什么是这样?
我正在使用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)
但这似乎并没有改变行为.有没有人对如何处理这个有任何想法?
非常感谢.
在没有任何验证的情况下使用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?
我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)
有人可以帮我这个吗?
有没有更好的方法将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) windows.location(url)如果url的域是当前页面的域,那么在执行时是否保留cookie ?
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呼叫本质上是异步的,如果不是,那么这里发生了什么"?
因为我认为它将用户重定向到其他页面的那一刻,它下面的代码行将永远不会执行.
任何帮助/解释表示赞赏!
谢谢