Chrome 확장 프로그램의 콘텐츠 스크립트를 사용하여 페이지에서 특정 클래스 이름을 가진 요소에 액세스하려고합니다. 지금까지 콘텐츠 스크립트는 document.getElementById()를 사용하여 특정 ID가있는 요소를 성공적으로 찾을 수 있지만 document.getElementsByClassName() 또는 jQuery의 $ (". className")을 사용하면 결과가 산출되지 않습니다. 테스트를 위해 클래스 이름으로 '헤더'를 사용했으며 확장을 실행 한 모든 웹 사이트에서 배열 길이가 0이되었습니다. 누락 된 아이디어가 있습니까? 여기에 내가 함께 테스트 한 내용은 다음과 같습니다크롬 확장 - 콘텐츠 스크립트가 클래스 이름별로 요소를 찾을 수 없습니다.
manifest.json
=================
{
"name": "Sample Extension",
"version": "0.0.1",
"description": "Sample extension",
"icons": {"128": "icon.png"},
"permissions": [
"tabs", "<all_urls>"
],
"browser_action": {
"default_icon": "browseraction.png",
"default_title": "Sample",
"popup": "popup.html"
},
"content_scripts": [
{
"matches": [ "<all_urls>" ],
"js": ["scripts/contentscript.js"],
"run_at": "document_end"
}
]
}
contentscript.js
===================
var elems = document.getElementsByClassName("header");
alert(elems.length);
어쩌면 어리석은 질문 일지 모르지만 HTML에 스타일 클래스 "헤더"가있는 요소가 있는지 확인하십시오. –
글쎄, 솔직히 말해서, 실제로 클래스 이름으로 '헤더'를 사용하지 않고 있는데,이 예제를 위해 더 일반적 일 것이라고 생각했습니다. 내가 사용했던 테스트 웹 사이트는 http://supercollider.dk/2010/04/chrome-extensions-for-web-hackers-part-%E2%85%A1-background-pages-255이고 ' 내 수업 이름으로. – sojo2600