2012-02-13 4 views
1

확장 개발이 처음인데, 누군가 내 문제를 해결할 준비가 된 것 같습니다. 더 복잡한 코드 (크롬 API 함수를 실행할 예정)를 계획하고 있지만이 작업을 해결하면 시작하는 데 도움이됩니다.특정 웹 사이트에서 확장 코드의 기능을 트리거 할 수있게 해주는 Chrome 확장 프로그램

다음을 기반으로 팝업 또는 경고()를 트리거하는 확장 프로그램을 만들려고합니다. 웹 사이트 자바 스크립트 호출.

예를 들어 내 웹 사이트에는 버튼이 있습니다. 버튼을 클릭하면 몇 가지 매개 변수가있는 JavaScript가 실행됩니다. 내 확장 프로그램은 이러한 매개 변수를 선택하고 매개 변수를 기반으로 API (예 : 모든 팝업)를 실행합니다. 내 기본 예제에서는 웹 사이트 자바 스크립트에서 제공하는 텍스트 팝업/알림 알림을 트리거하고 싶습니다. 또한 내 웹 사이트 도메인에서만이를 허용해야하며 다른 것은 거부되어야합니다.

정말 감사하겠습니다. 은 여기 내

<html> 
<body> 
<button onClick="extension_do_exec('Hellow world','abcabc')">Execute extension function</button> 
</body> 
</html> 

답변

2

당신이 설명하는 방법은 웹 페이지의 자바 스크립트 bacause, 문제가 website.com/example, 그리고 자바 스크립트에 내 "빈"매니페스트 여기

{ 
    "name": "Special API", 
    "version": "1.0", 
    "description": "API demo extension.", 
    "browser_action": 
    { 
    "default_icon": "gears.ico", 
    "popup": "show_credits.htm" 
    }, 
    "permissions": [ 
    "http://www.mywebsite.com/" 
    ] 
} 

예 버튼입니다 확장은 서로 분리되어 있습니다 (isolated world의 개념이 있음). 따라서 "웹 사이트 자바 스크립트에서 제공하는"값을 확장 기능의 javascript에 직접 가져올 수 없습니다. 나는 또 다른 접근법을 제안 할 것이다. DOM 객체에 속성으로 할당하여 일부 값과 교환 할 수 있습니다. 이러한 속성은 웹 페이지에 삽입 된 콘텐츠 스크립트에서 액세스 할 수 있습니다. 물론 콘텐트 스크립트는 페이지의 도메인을 결정하고 적절하게 작동 할 수 있습니다. 팝업의 경우에는 확장 프로그램의 내부 페이지이므로 콘텐츠 스크립트 사이에 어떤 종류의 messaging을 구현해야합니다.

+0

고마워, 나는 실제로 그런 식으로 해결했다. contentscript, hidden div 및 customevent를 사용합니다. 메시징에 대한 설명서 링크에 설명되어 있습니다. – John

관련 문제