サードパーティのサイトを読み込み、特定の単語を見つけ、Jquery 拡張機能のHighlightを使用してドキュメントの最も近いコンテキストを強調表示する小さな Javascript アプリケーションを構築しようとしています(正規表現を許可するための小さなカスタマイズを使用)。
まず、コンテキストを 500 文字に設定して、アプリケーションに周囲を強調表示させようとしていますが、何らかの理由で奇妙な場所で途切れます。この記事では、オバマという用語に合わせようとしていますが、私のスクリーンショットからわかるように、本来あるべきではない場所で途切れています。
誰が何が起こっているのか手がかりを持っていますか?
$(document).ready(function() {
$.get(getUrlVars()["url"],
function(data) {
var fdata = $(data);
var associationScope= 500;
$.each(getUrlVars()["topics"].split(","), function(index, value) {
if (getUrlVars()["associationScope"] == "context") {
var associationScopeRegex = "((?!</span>)[\\s\\S]{0," + associationScope + "})"
+ value + "((?!<span class=\"associationScope\">)[\\s\\S]{0," + associationScope + "})";
fdata.highlight(associationScopeRegex, {className: "associationScope"});
}
fdata.highlight(value, {className: "topicHighlight"});
});
$("#externalPage").html(fdata);
});
});