VJu*_*une 5 javascript firefox jquery dom
我是Javascript编程的新手,这个人已经清楚地"干净了"我:( ........
以下代码段通过搜索和修改相应的文本节点来突出显示某些文本.使用Jquery功能完成文本节点搜索:
window.addEventListener("load",highlightSummarySentences,false);
function highlightSummarySentences() {
var docName = thisPage;
var numSentences = getCookie(docName+"Num");
var linkSentenceNum = getCookie(docName + 'LinkingSentence');
for(var i=0; i<numSentences; i++) {
var matchMe = getCookie(docName+i);
try {
if (matchMe && i==(linkSentenceNum)) {
highlightText(matchMe, clickedSentenceColour);
}
else if(matchMe){
highlightText(matchMe, summarySentenceColour);
}
} catch (e) {;
}
}
}
Run Code Online (Sandbox Code Playgroud)
for循环运行一次并突出显示相应的文本,然后退出并且页面变为完全白色.在错误控制台中看到以下错误:
错误:未定义getCookie
但我猜它不是getCookie.在上述事件之后,脚本只是拒绝识别任何函数或变量.我不知道可能导致脚本以这种方式运行的原因.我在firefox中开发.
请给我一个提示!如果我应该粘贴更多提供更多信息的代码,请告诉我.
谢谢,
getCookie()不是浏览器提供的功能.这段代码可能需要getCookie()在代码中的某处声明一个函数. document.cookie您将使用从浏览器获取cookie字符串,但您必须解析并拆分它以查找所需的数据.这就是getCookie你写的功能会为你做的.
您的描述(页面在第一次循环后清除)听起来像是您在某个地方使用过document.write()。
你?(可以在highlightText()中)
如果是:文档加载后不能使用 write() , write() 会覆盖所有内容,js 也是如此,因此某个地方定义的所有函数都不再存在。