2013-06-01 155 views
0

我希望創建一個將向目標網站發送一些信息的擴展。只能在本地注入或顯示信息是不夠的。該信息需要Web服務器本身可讀。例如,一個PHP腳本可以檢查這個特定的變量/值,然後選擇顯示自己的內容作爲結果。我可以發送網站值嗎?

可以做到這一點嗎?它需要在獨特的域(不僅僅是唯一的子域)上工作。我的瀏覽器已經發送(例如)用戶代理到一個網站。我只是希望擴展程序只向目標網站發送更多信息,因爲它可以隨心所欲地處理它。

這可能嗎?

謝謝!

回答

0

有可能使用Chrome的WebRequest的API,在後臺腳本: http://developer.chrome.com/extensions/webRequest.html

chrome.webRequest.onBeforeSendHeaders.addListener(
    function(details) { 
    var headers = details.requestHeaders; 
    var i = headers.length; 
    headers[i] = {'name': 'new_header', 'value': 'header_value' } 
    return {requestHeaders: details.requestHeaders}; 
    }, 
    {urls: ["<all_urls>"]}, 
    ["blocking", "requestHeaders"]); 

你可以看到這個標題中包含的代碼PHP:

<?php 
    foreach ($headers as $header => $value) { 
    echo "$header: $value <br />\n"; 
    } 
?> 
0

是的,您可以通過內容腳本和背景頁面進行通信。

您可以使用各種jQuery方法將數據發送到服務器,並收到迴應:

  1. jQuery Ajax
  2. jQuery getJSON
+0

難道這可以在加載過程的早期做了什麼?也就是說,在您訪問過的網站進行任何主要腳本處理之前? – saward

+0

您可以控制事件發生時(即導航事件)或使用內容腳本,您可以決定何時加載腳本(查看Google清單文件文檔),但無法阻止瀏覽器加載,這意味着您可以開始發送處理頁面之前的數據,但您無法停止頁面處理,直到獲得響應,這意味着頁面可能會或可能不會在您收到響應時加載。 –

相關問題