2013-08-12 5 views
1

Chrome 확장 프로그램에서 Socket.io를 사용하려고하지만 어떤 이유로 작동하지 않습니다.Chrome 확장 프로그램의 Socket.io

<!doctype html> 
<html> 
<head> 
    <script src='socket.io.js'></script> 
    <script> 
    var socket = io.connect('http://localhost:8080/'); 

    chrome.browserAction.onClicked.addListener(function(tab) { 
     socket.send('hi'); 
    }); 
    </script> 
</head> 
<body> 
</body> 
그리고이 배경 페이지를로드하기 위해 다음과 같은 한 내 manifest.json을 일부 권한 :

"permissions": [ 
"http://*/", 
"http://*/*" 
], 

"background": { 
"page": "background.html" 
}, 

이를 다음은 내 background.html에있는 코드입니다 그러나 작동하지 않습니다. 확장이로드되면 Socket.io 서버에 연결해야하지만 그렇지 않습니다. 나는 이것을 일으키는 원인을 알아낼 수 없다. 이것은 단순히 background.html 파일을 실행할 때 완벽하게 작동합니다. 어떤 도움이라도 대단히 감사합니다!

+0

'스크립트 src ='http : // localhost : 8080/socket.io/socket.io.js '>' – vinayr

답변

-3

socket.io.js가 파일 시스템에있는 파일이 아니므로 선택한 서버에서 서비스해야합니다. 귀하의 경우 localhost:8080.

2

매니페스트 (V2)에 따르면"migration guidelines" 당신이해야 "태그에 포함 된 JS 코드를 제거하고 외부 JS 파일 내에 배치".

인라인 JS 그래서 예를 들면, 외부 JS 파일에 위치하게 한 후, 하나 background.html에서 가져 오기 또는 매니페스트에서 background 속성의 scripts 속성을 사용, 전혀 실행되지 않습니다 :

"background": { 
    "scripts": [ 
     "socket.io.js", 
     "background.js" 
    ] 
} 
관련 문제