0
經過一些嚴重的googleing AFAIK,無法更改iframe的http請求標頭。因爲這對我們的應用程序非常重要,有沒有辦法通過瀏覽器擴展(Firefox就足夠了)?通過瀏覽器擴展更改iframe的GET REQUEST標頭
謝謝。
經過一些嚴重的googleing AFAIK,無法更改iframe的http請求標頭。因爲這對我們的應用程序非常重要,有沒有辦法通過瀏覽器擴展(Firefox就足夠了)?通過瀏覽器擴展更改iframe的GET REQUEST標頭
謝謝。
所以很長一段時間後...
1)安裝Mozilla SDK: Addons SDK
按照說明創建擴展目錄結構
2)在你的lib/main.js腳本:
17 var {Cc, Ci} = require("chrome");
18 var data = require("sdk/self").data;
19 var _header = "";
20
21
22 // Define observer
23 var httpRequestObserver =
24 {
25 observe: function(subject, topic, data) {
26 if (topic == "http-on-modify-request") {
27 var httpChannel = subject.QueryInterface(Ci.nsIHttpChannel);
28 httpChannel.setRequestHeader("User-Agent", _header, false);
29 }
30 }
31 };
32
33 // Register observer
34 var observerService = Cc["@mozilla.org/observer-service;1"]
35 .getService(Ci.nsIObserverService);
36
37 observerService.addObserver(httpRequestObserver, "http-on-modify-request", false);
38
39 var pageMod = require("sdk/page-mod");
40
41 pageMod.PageMod({
42 include: ["*"],
43 contentScriptFile: data.url("content.js"),
44 onAttach: function(worker) {
45 worker.on("message", function(message) {
46 _header = message;
47 });
48 }
49 });
3)然後在您的數據/ content.js一小段:
1 document.defaultView.addEventListener("message", function(event) {
2
3 //alert(event.data);
4
5 self.postMessage(event.data);
6
7 }, false);
4)最後,在你的頁面的腳本,你只是做簡單的調用:
window.postMessage("CONST_STR;" + data.foo + ";" + data.bar, "*");
因爲它是相當複雜的野獸,一個應該去RTFM爲了更好的理解,否則的話你可以通過與這更好,你不會有藥物或飲料的衝動。
希望它可以幫助別人,某處......
爲了讓事情更清楚,我應該能夠調整用戶代理在JavaScript和應該告訴延長改變UA,或至少一個新的變量添加到http頭像X-User-Agent。 – dakt