2012-10-10 4 views
0

이 내 응용 프로그램 코드 확장에 내 JS 파일을 허용하지 않았다 :[CRX] :

manifest.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> 

$(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); 
}); 

}); 

하지만이있어 :

app.js 파일은 오류 메시지 "다음 내용 보안 정책 지시문"script-src 'self'chrome-extension-resource : "을 위반하여 인라인 스크립트를 실행하는 것을 거부했습니다." 항상..!

왜 작동하지 않습니까? 내가 잘못 했어?

+0

오류 메시지가 매우 obious입니다 참조 : app.js를합니까 당신은 어딘가에 인라인 코드를 사용하거나 인라인 코드 예를'포함 crm_buffer.php의 onclick = "foo();"또는''? –

+0

아니요, 반환해야하는 문자열 "hello world"가 포함되어 있습니다 ... –

답변

0

https://www.mywebsite.com/ChromeExt/crm_buffer.php?uid="+HoldUser에서 HTML을 다운로드하고 app.html 페이지에 삽입하고 있습니다. HTML을 삽입하면 구문 분석되고 언급 된 모든 리소스 (<script>, <link>, <object>, <img> 등)가로드되기 시작합니다. 기본 JavaScript 확장 파일에는 확장 프로그램에서 원격 위치의 스크립트를 실행할 수 없기 때문에 보안 위반 오류가 발생합니다.

웹 사이트에서 API 호출과 같은 응답을 보내거나 HTML 대신 JSON 또는 텍스트를 반환하여이 문제를 해결할 수 있습니다. mywebsite.com이 사용자의 것이 아니거나 거기에서 아무 것도 변경하고 싶지 않은 경우 CSP에로드하거나 data 변수를 구문 분석하여 $.get에 반환 된 스크립트를 허용하고 삽입하기 전에 <script> 등을 모두 제거 할 수 있습니다.

0

당신은 내가 https://www.mywebsite.com/ChromeExt/crm_buffer.php?uid="+HoldUser 당신이 아래로 클릭, 마우스 등을 가질 수 있도록 해당 페이지의 이벤트. 또한 페이지가 있어요 manifest.json에 대한 사용 권한이 표시되지 않습니다. 요청을 차단할 수도 있습니다. manifest.json에 아래 행을 추가하면 쉽게 테스트 할 수 있습니다. 문제가 해결되지 않으면 mywebsite.com에서을 (를) 확인하십시오. .. 그 깨진 경우

"permissions": [ 
    "http://*/*", 
    "https://*/*", 
], 
관련 문제