Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否将更改的url保存为javascript变量?_Javascript_Html - Fatal编程技术网

是否将更改的url保存为javascript变量?

是否将更改的url保存为javascript变量?,javascript,html,Javascript,Html,这是我的第一篇文章,所以如果我犯了任何错误,我很抱歉,我正在尽我最大的努力。我已经找了几天了,但我找不到解决办法,我甚至不知道这是否可行。我尝试做的是基本的,我需要将一个URL保存为JavaScript变量,以便以后在网站中调用。URL为,并加载一个随机页面。我希望变量是随机页面的URL,但它始终只是“http://en.m.wikipedia.org/wiki/Special:random”。我想我可能需要先在其他地方加载它,例如在iframe中,然后从那里调用URL,但它只是保持为“http

这是我的第一篇文章,所以如果我犯了任何错误,我很抱歉,我正在尽我最大的努力。我已经找了几天了,但我找不到解决办法,我甚至不知道这是否可行。我尝试做的是基本的,我需要将一个URL保存为JavaScript变量,以便以后在网站中调用。URL为,并加载一个随机页面。我希望变量是随机页面的URL,但它始终只是“http://en.m.wikipedia.org/wiki/Special:random”。我想我可能需要先在其他地方加载它,例如在iframe中,然后从那里调用URL,但它只是保持为“http://en.m.wikipedia.org/wiki/Special:Random”。如果您有任何帮助,我们将不胜感激。

您链接的页面将在您访问时重定向。这意味着您必须在获得所需的实际随机页面之前请求它

您可以尝试这样做的一种方法是在iframe中加载随机页面并检查iframe的位置:

var iframe = document.createElement('iframe');
iframe.src = 'http://en.m.wikipedia.org/wiki/Special:Random';
iframe.name = "random";
document.body.appendChild(iframe);
console.log(window.frames['random'].location.href);
如果你尝试这样做,你会得到一个令人讨厌的错误,比如:

未捕获的安全性错误:阻止了原点为“”的帧访问原点为“”的帧。协议、域和端口必须匹配

之所以这样做,是因为同一来源政策规定,位置是敏感信息,只有当iframe与试图访问它的页面具有相同的协议、域和端口时,才允许您访问它

现在唯一的解决方案是在服务器上有一个页面,该页面向随机页面发出请求,获取响应并获取该响应的url。您可以通过AJAX检索url,也可以将其集成到页面服务器端:

<html>
<body> This is my page and this is the random url:
<?php
  ... curl request to http://en.m.wikipedia.org/wiki/Special:Random from which you get the url
  echo $url;
?>
</html>

这是我的页面,这是随机url:

我该如何做一些AJAX魔术?呃,忘了AJAX吧。它将被XSS策略拒绝。你必须用curl来做。我有困难,你能给我curl代码吗?