搜索在工具栏中工作但不在体内工作

时间:2011-11-30 10:46:14

标签: javascript

我正在构建一个用于显示在线帮助的新模板。

我在工具栏中有一个搜索字段,第一个页面调用dhtml_search.htm,而dhtml_search.js则有两个函数搜索数组并返回结果,

function show_results()
function search()

在工具栏中搜索工作正常。

然而,在first page中调用时,相同的搜索功能无效,我在dhtml_search.js的第65行收到错误:

  

需要对象

我无法弄清楚原因。

1 个答案:

答案 0 :(得分:0)

执行此操作时,错误在第65行:

var myDiv = window.top.document.getElementById("body_right");
myDiv.innerHTML = all_content;

你实际上是在用'all_content'变量“替换自己”。

这是结构:

div#body_right
    iframe[name=BODY]
        iframe[name=search_body]

您正在执行的代码位于iframe [name = search_body]中,并且您的脚本会删除父div#body_right中的所有内容,因此您将破坏自己的执行上下文。

它适用于工具栏,因为那时你的代码不是从iframe [name = search_body]执行,而是从工具栏框架执行。

希望我很清楚: - )