0

Chrome 확장 프로그램을 만들고 사용자 페이지의 텍스트를 강조 표시하는 플러그인 mark.js (https://markjs.io/)를 구현하고 싶습니다. 그러나 플러그인을 가져 오는 데 문제가 있습니다. html은 사용자 페이지이므로 액세스 할 수 없기 때문에 평소에는 <script></script>을 사용할 수 없습니다. 그래서 JavaScript를 사용하려고했지만 여전히 오류가 발생합니다. 다음과 같이크롬 확장 프로그램에서 플러그인 사용

내 자바 스크립트 코드는 다음과 같습니다 어떤 도움에 감사드립니다

Chrome Error

:

var head= document.getElementsByTagName('head')[0]; 
var script= document.createElement('script'); 
script.type= 'text/javascript'; 
script.src= 'https://cdnjs.cloudflare.com/ajax/libs/mark.js/7.0.0/mark.min.js'; 
head.appendChild(script); 

//highlight necessities 
var context = document.querySelector("body"); 
var instance = new Mark(context); 

function handleSetQuery(findWord) { 
    cheese.mark(findWord); 
} 

function handlePrevious() { 
    //insert previous thing 
} 

function handleNext() { 
    //insert next thing 
} 

function handleClear() { 
    instance.unmark(options); 
} 

chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) { 
    if (request.action === "setquery") { 
     alert("received: setquery"); 
     handleSetQuery(request.data); 
    } else if (request.action === "previous") { 
     handlePrevious(); 
    } else if (request.action === "next") { 
     handleNext(); 
    } else if (request.action === "clear") { 
     handleClear(); 
    } 
}); 

크롬 콘솔은 다음과 같은 오류를 반환! 이 문제를 해결하면 jQuery와 같은 다른 도구를 사용할 때도 도움이됩니다.

+0

특정 패턴과 일치하는 페이지에 스크립트를 삽입하려면 다음 자습서를 읽어보십시오. https://developer.chrome.com/extensions/content_scripts#registration – dude

+2

[Chrome 확장 기능 만들기 - 페이지에 코드 삽입 콘텐츠 스크립트를 사용하여] (http://stackoverflow.com/questions/9515704/building-a-chrome-extension-inject-code-in-a-page-using-a-content-script) –

+0

나는 그 해결책을 시도, 그러나 그들을 일하게 할 수 없었다. 무엇을해야 할 지 구체적으로 말해 줄 수 있습니까? –

답변

0

콘텐츠 스크립트 태그를 통해 주입했습니다 (이전에는 순서가 잘못되었습니다).

관련 문제