簡體   English   中英

將更改的網址保存為JavaScript變量?

[英]Saving a url that changes as a javascript variable?

這是我的第一篇文章,對不起,如果我有任何錯誤,我會盡力而為。 我一直在尋找幾天,但找不到解決方案,我什至不知道是否可能。 我想做的是基本的,我需要將一個更改為URL的URL保存為JavaScript變量,以供日后在網站中調用。 該URL是http://en.m.wikipedia.org/wiki/Special:Random ,它會加載一個隨機頁面。 我希望變量是隨機頁面的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);

如果嘗試這樣做,將收到令人討厭的聽起來錯誤,如下所示:

未捕獲到的SecurityError:阻止了源為“ http://run.jsbin.io ”的框架訪問源為“ http://en.m.wikipedia.org ”的框架。 協議,域和端口必須匹配。

這樣做的原因是因為“同源”策略說位置是敏感信息,只有在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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM