質問

Chrome拡張を通してXived Feedにアクセスする方法私は現在私のXive Feedに表示されている値に応じてウェブサイトをブロックする単純な拡張機能を構築しています。しかし、HTMLなしでXiveive Feedにアクセスする方法はわかりません。しかし、私の延長はHTMLから独立している必要があります。

下記のコードはXiveJSを使用した試みですが、私はより簡単な方法やより良い方法に感謝します。

background.js:

     chrome.webRequest.onBeforeRequest.addListener(
        function(details) { 
        return {cancel: true};


         },
        {urls: ["*://www.facebook.com/*", "*://www.twitter.com/*"]},
        ["blocking"]);



        // Set your API key first  

// Get feed content  
 xively.setKey( "APIKEY" );

function ReadData(){

    var reading = xively.datastream.get ("832936337", "Reading", callback (data));
    console.log(reading);
    console.log(data);
    setTimeout(ReadData,3000);
    }
    ReadData();
.

manifest.json:

{
  "manifest_version": 2,
  "name": "SiteBlockerFyp",
  "description": "Block Respective Sites",
  "version": "1",

"permissions": [
    "webRequest",
    "webRequestBlocking",
    "*://www.facebook.com/*","*://www.twitter.com/*"

  ],
"content_scripts": [
    {
      "matches": ["*://www.facebook.com/*"],

      "js": ["jquery.min.js", "xivelyjs.min.js"]
    }
  ],

  "background": {"scripts": ["background.js"]}


}
.

役に立ちましたか?

解決

は、そのような値にアクセスできることを見つけました。

     chrome.webRequest.onBeforeRequest.addListener(
        function(details) { 
        return {cancel: true};
                    console.log(details.url);
         },
        {urls: ["*://www.twitter.com/*"]},
        ["blocking"]);








        // Set your API key first  

// Get feed content  
 xively.setKey( "APIKEY" );
 console.log("XIVELY LOADED");

   var feedID        = 832936337,          // Feed ID  
      datastreamID  = "Reading";       // Datastream ID  
      data = "null";  // Your element on the page
      dataUpdated= "null";  


     console.log("READ ");


    xively.datastream.get (feedID, datastreamID, function ( datastream ) {  

    data = datastream["current_value"];
    console.log(data); 

    xively.datastream.subscribe( feedID, datastreamID, function ( event , datastream_updated ) {  

    dataUpdated = datastream_updated["current_value"] ;  
    console.log(dataUpdated);
    });  

  });  

        chrome.tabs.query({'active': true, 'windowId': chrome.windows.WINDOW_ID_CURRENT},
   function(tabs){
      console.log(tabs[0].url);
      if (tabs[0].url == "*www.twitter.com*") {
          alert("Twitter");
      }

   }
);
.

加入中は、発生したため、更新を更新しました。ただし、マニフェストのバックグラウンドスクリプトとしてDCSを使用すると、すべてのページに遭遇しないようにしてください。

{
  "manifest_version": 2,
  "name": "SiteBlockerFyp",
  "description": "Block Respective Sites",
  "version": "1",

"permissions": [
    "webRequest",
    "webRequestBlocking",
    "*://www.twitter.com/*",
"tabs"

  ],



"content_scripts": [
    {
      "matches": ["<all_urls>"],

      "js": ["jquery.min.js", "xivelyjs.min.js", "background.js"]
    }
  ]


}
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top