我想知道是否可以更改window.location.hash中的哈希并将其替换为'this.id'.或者我需要更改整个window.location?
我有这个简单的脚本:
$(document).ready(function(){
var $yoyo = window.location.hash;
alert($yoyo);
});
Run Code Online (Sandbox Code Playgroud)
但我需要摆脱#符号,因为我将使用变量来定位div ID.我尝试过使用.remove('#'),但这似乎不起作用.
提前谢谢了!
访问stackoverflow.com/#_=_并window.location.hash评估#_=_.精细.
现在执行window.location.hash = ''清除哈希,URL变为stackoverflow.com/#.(请注意尾随#.)
为什么#在window.location.hash不一致包含或排除?如何在#不重新加载页面的情况下从URL中删除?
(MDN说
[哈希]是#符号后面的URL的一部分,包括#符号.
但在空哈希的情况下,情况并非如此.)
我正在使用PhoneGap编写iPad应用程序,我想加载外部URL而不触发Safari或使用像ChildBrowser这样的内部Web浏览器.
我正在使用PhoneGap iPad/iPhone示例项目,我尝试了不同的方法.在onBodyLoad()函数中,我添加了:
window.location.href('http://www.wordreference.com');
Run Code Online (Sandbox Code Playgroud)
但是这一行使用一个新的Safari窗口打开链接.从那时起,无法返回PhoneGap
之后,我尝试使用document.write替换页面内容的AJAX请求
function loadHTML(url, timeout) {
if (timeout == undefined)
timeout = 10000;
var req = new XMLHttpRequest();
var timer = setTimeout(function() {
try {
req.abort();
} catch(e) {}
navigator.notification.loadingStop();
},timeout);
req.onreadystatechange = function() {
if (req.readyState == 4) {
if (req.status < 300) {
clearTimeout(timer);
var html = req.responseText;
//just a debug print
alert(html);
document.write(html);
}
navigator.notification.loadingStop();
delete req;
}
};
req.open('GET', url, true);
req.send();
}
Run Code Online (Sandbox Code Playgroud)
现在,从onBodyLoad()内部调用:
loadHTML('http://www.wordreference.com',10000);
Run Code Online (Sandbox Code Playgroud)
打开PhoneGap容器中的链接,没问题.关键是我想加载用Python编写的动态页面
loadHTML('http://www.mysite.com/cgi-bin/index.py',10000)
Run Code Online (Sandbox Code Playgroud)
此时未调用Safari,但会显示PhoneGap容器中的黑色页面!我想指出,如果我在Safari中键入它,链接就完全正常工作(我无法报告隐私问题).
可能是与某种必要的许可有关的问题???
我找到了与PhoneGap for …
我有以下javascript重定向代码,后面跟着一些代码.
window.location.href = '/someurl';
alert('hello');
alert('hello again');
Run Code Online (Sandbox Code Playgroud)
这会导致浏览器不一致.
在Firefox中,第一个警报在重定向之前可以在瞬间显示.根本看不到第二个警报.
在chrome中,两个警报都会弹出,只有在两个警报都单击"确定"后才会发生重定向.
在重定向之后可以解决这些差异的代码有什么概念吗?如果重定向是异步的,那么chrome在做什么?我想了解发生了什么,以便我可以确定在更复杂的情况下要做什么,其中重定向深埋在一些回调和其他逻辑中.
javascript firefox google-chrome cross-browser window.location
$locationChangeSuccess和之间有什么区别$locationChangeStart?
它们都是与之无关的无证事件window.location.
我有一个角度应用程序,我需要将其重定向到一个非角度的html页面,所以我想我可以使用$window.location.href将角度应用程序重定向到我的外部网站.这实际上工作正常,但是,我有一个nodejs/express后端,在提供任何内容(甚至静态内容)之前检查身份验证令牌.
这需要在http请求的标头中发送身份验证令牌.现在的问题是:
可以/如何通过更改$window.location.href发送之前的请求添加身份验证令牌?
基本上我想做的就是这样做的结果:
window.location.href = "some_location";
window.onload = function() {
alert("I'm the new location and I'm loaded!");
};
Run Code Online (Sandbox Code Playgroud)
加载窗口的新位置时有没有办法进行回调?(上面的代码不起作用.)
关于window.top.Location对象的跨域策略有一个非常特殊的边缘情况......
假设我在域名www.bbb.com中有IFrame A,住在域名www.aaa.com的页面内.
IFrame中的页面可以:
但它不能:
这些只是我能很快找到的.我确定还有其他边缘情况.
似乎浏览器不允许使用top.location对象,如果top在另一个域中,除了一些列入白名单的东西......
这记录在哪里?
我可以找到这些列入白名单的东西吗?
这是HTML标准,并在所有浏览器中同样实现?或者是这种半随机的实现?
所以试着用Javascript中的window.location来弄清楚如何做到这一点.我向用户发送了一个带有Google Analytics代码的附加网址,我需要将该代码传递给该网页上的iframe src.我假设Javascript可以做到这一点(注意 - 我不能使用PHP)...
这就是我想要做的:
我会将用户发送到包含所有广告系列数据的页面.例如,用户可以点击此链接:http://www.xyz.com/index.html?utm_source = Facebook&utm_campaign = Facebook + May&utm_medium = click
它们会被定向到那个页面,然后就会有这个iFrame.商店一侧的代码需要选择utm_source,utm_campaign,utm_medium并在IFRAME SRC中包含这些部分所以这一点:
<iframe height="960px" frameborder="0" scrolling="no" width="958px" src="http://www.abc.com/minis"></iframe>
Run Code Online (Sandbox Code Playgroud)
现在变成:
<iframe height="960px" frameborder="0" scrolling="no" width="958px" src="http://www.abc.com/minis?utm_source=Facebook&utm_campaign=Facebook+May&utm_medium=click"></iframe>
Run Code Online (Sandbox Code Playgroud)
任何JavaScript建议将不胜感激.注意 - 我不能使用PHP.
更新:让这个工作!是的,但现在我需要编辑一下:
所以说附加的网址是clciked:
http://abc.com/index.html?apple&orange&peach
Run Code Online (Sandbox Code Playgroud)
我需要iframe src才能做到这一点
http://xyz.com/minis?orange&peach
Run Code Online (Sandbox Code Playgroud)
我在脚本中移动了一些东西,但现在只抓橙色而不是其他属性(桃子).请告知是否有更好的工作方式(没有所有的参数,然后根据什么链接进来,一些&将是未定义的:
<body>
<script type="text/javascript">
$(function() {
var loc = window.location.toString(),
params = loc.split('&')[1],
params2 = loc.split('&')[2],
params3 = loc.split('&')[3],
params4 = loc.split('&')[4],
params5 = loc.split('&')[5],
params6 = loc.split('&')[6],
iframe = document.getElementById('myIframe');
alert(iframe.src);
iframe.src = iframe.src + …Run Code Online (Sandbox Code Playgroud) javascript iframe google-analytics window.location query-string
window.location ×10
javascript ×6
angularjs ×2
iframe ×2
jquery ×2
cordova ×1
cross-domain ×1
firefox ×1
html ×1
http ×1
http-headers ×1
load ×1
oauth-2.0 ×1
onload ×1
query-string ×1
security ×1
url-routing ×1