2014-09-21 2 views
0

div 안에 특정 단어가 a jQuery plugin to highlight입니다.외부 파일의 단어로 jQuery 쿼리를 채우십시오.

나는 그것을 아무 문제없이 작동하도록 만들었다. 내 질문은 : 파일의 단어로 강조 표시 할 단어 목록을 채우는 방법은 무엇입니까?

그래서이 코드 줄은 $('.textsection').highlight(["lorem", "non", "lectus"]);이며 페이지의 텍스트에서 "lorem", "non"및 "lectus"를 강조 표시합니다. 그것은 잘 작동합니다.

나는 수백 가지가 있기 때문에 한 단어 씩 쿼리에 단어를 채우는 대신 jQuery에게 각 단어가 하나의 특정 텍스트에있는 .txt 파일의 단어 목록을 가져 오라고하고 싶습니다. 라인, 같은 :

lorem 
non 
lectus 

기본적으로 내가 찾고 있어요 결과는 $('body').highlight(["wordslist.txt"]); 같은 것입니다 (분명히 작동하지 않습니다,하지만 당신은 그것을 얻을).

어떻게하면됩니까? .txt 파일을 제대로 jQuery로 크롤링하는 방법은 무엇입니까?

PS 당신을 :) 감사합니다 내가 가장 쉬운 방법은 JSON을 사용하여 파일에서 단어를 인코딩하는 것 "안녕"을 추가하기 위해 노력하고있어,하지만 작동하지 않습니다 :(

+0

를 사용하여 A JS 파일 대신 txt 파일을. – dandavis

+0

$ ('body'). highlight ([wordslist.js]);는 효과가 있습니까? – Orphal

답변

0

을 다음 서버에서 잡아 $.getJSON()를 사용합니다. 물론,이 자바 스크립트이기 때문에, 비동기 적으로이 작업을 수행하는 것이 바람직합니다. 예를 들어

, 당신은 data.json라는 텍스트 파일 내부 ["lorem", "non", "lectus"]이 있다고. 당신은로드합니다 좋아요 :

$.getJSON("data.json", function(data) { 
    $('.textsection').highlight(data); 
}); 
+0

이벤트는 WAMP가있는 PHP 환경에서 시도하여 작동하지 않습니다. '$ (document) .ready (function()') 내부와 외부에서 모두 시도했습니다. JSON에 대한 확신이 전혀 없습니다. – Orphal

+0

data.json 파일이 올바른지 확인하십시오. 예배 규칙서? .html 파일과 동일한 디렉토리에 있어야합니다. Javascript 콘솔을 확인하고 거기에 오류가 있는지 확인하십시오. – fstanis

+0

음 .php 파일이지만 네, 같은 디렉토리에 있습니다. 내가 중요하다면 나는 localhost에서 일하고있다. "JSON으로 인코딩"이라고 말하면 정확히 무엇을 의미합니까? 별도의 줄에 각 단어를 나열하는 것으로 충분합니까, 아니면 data.json에 실제로 일부 코드가 포함되어 있어야합니까? 일부 코드가 필요한 경우 어떻게해야합니까? – Orphal

0

이를 사용할 수 있습니다

$.get("wordslist.txt", function(data) { 
    var arr= data.split("\n"); 
    $('body').highlight(arr); 
}); 
+0

거의 작동하지만 작동하지 않습니다. 'data.split ("\ n")'이 무엇을 반환 하는지를 확인하기 위해 document.write()를 할 때, 그것은 "lorem, non, lectus'와 같은 것입니다."lorem ","non "," lectus "(각 단어 주위에 큰 따옴표가 있음) – Orphal

+0

실제로 단어 목록을 상당히 줄여서 테스트해도 작동하지 않습니다. 단어 목록에.txt 나는 파일에서 $ .get ("badwords.txt", function (data) {$ ('body')}와 같이 직접 작성된'[ ""lorem ","non ","lectus "]' .highlight (data);});'코드로 작동하지 않습니다. – Orphal

관련 문제