簡體   English   中英

跨域Javascript書簽

[英]Cross Domain Javascript Bookmarklet

我已經待了幾天了,搜索(包括此處)還沒有給我任何解決方案。

我正在創建一個與POST API交互的Bookmarklet。 除了最重要的部分,我已經完成了大部分工作; 從iframe(我知道這太可怕了!如果有人知道更好的解決方案,請讓我知道)將數據發送到我域(與API相同的域,因此與API的通信沒有問題)上的javascript。

用戶從頁面上單擊小書簽,我需要將以下數據獲取到iFrame中包含的javascript。

    var title = pageData[0].title;
    var address = pageData[0].address;
    var lastmodified = pageData[0].lastmodified;
    var referralurl = pageData[0].referralurl;

我首先通過將數據解析為JSON並將其通過iFrame的name =“”屬性發送的方式進行了修復,但在大約20%的此中斷的網頁上都意識到了這一點。 我的訪問被拒絕; 這也不是一個非常漂亮的方法。

有誰對我該如何解決有任何想法。 我不想使用重定向的POSTS,我希望所有這些都是AJAX並盡可能不引人注目。 還值得注意的是,我使用的是jQuery庫。

非常感謝你,

您應該研究easyXDM ,它非常易於使用。 http://consumer.easyxdm.net/current/example/methods.html上查看示例之一

經過大量工作,我能夠找到使用JSONP的解決方案,該解決方案啟用了跨域Javascript。 使用Codeigniter框架非常棘手,因為沿URL傳遞數據需要大量編碼,並確保您沒有非法字符。 另外,我仍在尋找它的真正安全性。

如果我正確理解了您的問題,那么通過使用腳本標簽代理可能會取得一些成功。 這是在JavaScript框架(如jquery和extjs)中進行跨域AJAX的標准方法。

請參閱Jquery AJAX文檔

如果您需要將數據傳遞到iframe,並且iframe實際上包含另一個頁面,但是該另一個頁面位於同一域中(我知道很多假設)。

然后,手冊頁代碼可以做到這一點:

DATA_FOR_IFRAME = ({'whatever': 'stuff'});

然后,iframe包含的頁面上的代碼可以執行以下操作:

window.parent.DATA_FOR_IFRAME;

獲取數據:)

暫無
暫無

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

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