2016-04-07 4 views
0

私はこれを数日前から取り組んできましたが、私はtampermonkeyスクリプト。私が得た最も近いのは、このコードhttp://jsfiddle.net/peterbenoit/N7avm/を使ってウェブページ/データを正常に読み込んだのですが、tampermonkeyスクリプトとして追加しようとすると、使い慣れたクロスドメインエラーが発生しました。divperの内容を取得するためにTampermonkeyでクロスドメインコールをセットアップするにはどうすればいいですか

は、スクリプトをロードするために拒否 'http://query.yahooapis.com/v1/public/yql?q=select%20 *%20from%20html%20where ...トン= XML%27 &コールバック= jQuery21407879608951028498_1460047110140 & _ = 1460047110141' は、次のコンテンツセキュリティポリシーの指示に違反しているため、「スクリプト-SRC」を自己安全でない - インライン "安全でない - 評価" http://steamcommunity-a.akamaihd.net/https://api.steampowered.com/http://www.google-analytics.comhttps://ssl.google-analytics.comhttps://www.google.comhttps://www.gstatic.comhttps://apis.google.com "です。

$(function() { 


    var container = $('#target'); 
    var msg = $('#msg'); 



    var url = 'http://peterbenoit.com'; 

    $.getJSON("http://query.yahooapis.com/v1/public/yql?" + 
      "q=select%20*%20from%20html%20where%20url%3D%22" + 
      encodeURIComponent(url) + 
      "%22&format=xml'&callback=?", 
    function(data) { 
     if (data.results[0]) { 
      var data = filterData(data.results[0]); 
      msg.html('(ready.)'); 
      container.html(data).focus().effect("highlight", {}, 1000); 
     } else { 
      msg.html('(error!)'); 
      msg.addClass('error'); 
      var errormsg = '<p>Error: could not load the page.</p>'; 
      container.html(errormsg).focus().effect('highlight', { color: '#c00' }, 1000); 
     } 
    } 
); 

}); 


function filterData(data) { 
    // filter all the nasties out 
    // no body tags 
    data = data.replace(/<?\/body[^>]*>/g, ''); 
    // no linebreaks 
    data = data.replace(/[\r|\n]+/g, ''); 
    // no comments 
    data = data.replace(/<--[\S\s]*?-->/g, ''); 
    // no noscript blocks 
    data = data.replace(/<noscript[^>]*>[\S\s]*?<\/noscript>/g, ''); 
    // no script blocks 
    data = data.replace(/<script[^>]*>[\S\s]*?<\/script>/g, ''); 
    // no self closing scripts 
    data = data.replace(/<script.*\/>/, ''); 
    // [... add as needed ...] 
    return data; 
} 

だから私は、サイトA上のコンテンツを表示し、私はそれがサイトB(DIVクラスのdiv要素からのデータの1つの文字列を収集したい個人userscriptを実行されませんしようとしています何のJIST = "preview k_wear_float")、それをvarメッセージ内のサイトaに表示します。私はiframe、JSON、xmlhttprequestsを試していますが、現在データにアクセスするにあたっても現在何の幸運もありませんでした。

私は基本的にjsを理解していますが、私はまだ初心者ですので、平均的なユーザーよりも少し説明してください。

答えて

0

はまだ残念ながら、コンソールに「それは、次のコンテンツセキュリティポリシーの指示に違反しているため、スクリプトをロードするために拒否」取得この

$.ajax({ 
    type:'GET', 
    url: "http://query.yahooapis.com/v1/public/yql?" + "q=select%20*%20from%20html%20where%20url%3D%22" + encodeURIComponent(url) + "%22&format=xml'&callback=?", 
    async:false, 
    contentType: "application/json", 
    dataType: 'jsonp' 
}).done(function(data){ 
    console.log(data) 
}); 
+0

を試してみてください。むしろおしゃれな話をするためにイライラする – Nexus1234

関連する問題