0

これは私のアプリケーションコードです:

マニフェスト.jsonファイル:

{
 "name": "YouTradeFx Debugger",
 "version": "1.0",
 "manifest_version": 2,
 "description": "This appliction allow YoutradeFX R&D team to debugging thier applications, by using few tools",
 "browser_action": {
   "default_popup": "app.html"
 }
}

app.htmlファイル:

<html>
<head>
 <title>Source of the application</title>
 <script src="jquery.js"></script>
 <script src="app.js"></script>
</head>
<body style="width: 350px;">
  <span style="display: none;">
   <button id="Http">Send Requests</button>
    <button id="Cookie">Add Lead Params</button>
    <button id="Crm">CRM Faliure</button>
</span>
 <div id="Content">
 <table id="cons">
  <tr>
   <td>Please your username:</td>
   <td><input type="text" id="names" name="user"></td>
  </tr>
  <tr>
  <td><input type="submit" name="send" value="SEND"></td>
 </tr>
 </table>
</div>
</body>
</html>

app.jsファイルは次のとおりです。

$(document).ready(function(){

 var HoldUser = $("input#names").val();
 $.get("https://www.mywebsite.com/ChromeExt/crm_buffer.php?uid="+HoldUser,function(data){
   $("div#cons").html(data);
 });

});

しかし、次のコンテンツセキュリティポリシーディレクティブに違反しているため、インラインスクリプトの実行を拒否しました: "script-src'self' chrome-extension-resource: "というエラーメッセージが表示されました。いつも..!

なぜ機能しないのですか?私は何か悪いことをした?

4

2 に答える 2

0

HTML をロードして (私は推測します) 、ページhttps://www.mywebsite.com/ChromeExt/crm_buffer.php?uid="+HoldUserに挿入しますapp.html。HTML が挿入されると、HTML が解析され、言及されたすべてのリソース ( <script><link>、など) の読み込みが開始されます。そこにはおそらくいくつかの JavaScript ファイルがあり、デフォルトの Chrome 拡張機能ポリシーでは拡張機能がリモートの場所からスクリプトを実行することを許可していないため、セキュリティ違反エラーが発生します。<object><img>

Web サイトからの応答を API 呼び出しのようにして、HTML ではなく JSON またはテキストを返すことで、これを修正できます。自分のものではない場合mywebsite.com、またはそこで何も変更したくない場合は、 CSPdataにロードするスクリプトをホワイトリストに登録するか、返された変数を解析$.getしてすべて削除する<script>など、注入する前に行うことができます。

于 2012-10-10T15:23:35.603 に答える
0

ページhttps://www.mywebsite.com/ChromeExt/crm_buffer.php?uid="+HoldUserを取得しているため、そのページでクリック、マウスダウンなどのイベントが発生する可能性があります。また、権限が表示されませんmanifest.jsonで. それもリクエストをブロックしている可能性があります. 以下の行をmanifest.jsonに追加することで簡単にテストできます. それがうまくいかない場合は, mywebsite.com をチェックして壊れていないか確認してください.

"permissions": [
    "http://*/*",
    "https://*/*",
],
于 2012-10-11T21:56:24.083 に答える