我有两个框架,表达式在第一帧中运行,并在另一个框架中调用highlightElements函数。这个表达式在Firefox中运行良好:
parent.frames[0].highlightElements(lineNumbers, stringObj);
highlightElements功能(只是肯定):
function highlightElements(lineNumbers, stringObj) {
// run through the cycle and highlight them
//for (var ln in lineNumbers) {
var length = lineNumbers.length;
for (var ln=0; ln<length; ln++) {
var elements = $('.no');
//for (var i in elements) {
var el_length = elements.length;
for (var i=0; i<el_length; i++) {
if (parseInt(elements[i].innerHTML) == lineNumbers[ln]) {
var badThing = "yes";
for (var nextElement = elements[i].next();
nextElement.className != '.no'; nextElement = elements[i].next()) {
if (nextElement.innerHTML == stringObj) {
badThing = "no";
nextElement.effect('highlight', {}, 'slow');
scrollIntoView(nextElement);
}
}
if (badThing == "yes") alert("Didn't find the object");
}
}
}
}
但是在Chrome中它会产生错误“Uncaught TypeError:对象[objectDOMWindow]的属性'highlightElement'不是函数”。
如何更改表达式以使其在Chrome中可运行?感谢
答案 0 :(得分:1)
确保两个帧都在相同的域和协议下。如果域/协议不匹配,Chome会阻止从帧到另一个的javascript访问。如果您在本地工作,而不是在本地域(即url类似于file:/// C:/etc/etc.html),那么它也无法工作。