Я прочитал и попробовал ряд решений для прокрутки iframe, но ни один из них не работает для меня. Это функция javascript - это обратный вызов таймера, выполняемый jquery.js. Когда входной файл изменен, я восстановил страницу (src = "pp_ContactRangesPanel.php? Sc = terra & path =/var/www/html/java_clocks/terra/terra_aos_times & filter = N; #target") и обновил iframe через reload(). Затем я пытаюсь прокрутить строку имени = «цель» в iframe, но она никогда не перемещается. В верхней части входной веб-страницы есть кнопка «перейти к целевой линии», и она переходит в целевую линию в порядке, поэтому я знаю, что там есть тег после перезагрузки. Это часть javascript, которая перезагружает страницу и должна прокручиваться до целевой строки.прокрутка не работает для тега имени в iframe
// new mtime vs. last mtime test
if ($aPath[$currentFile][2] != $aPath[$currentFile][3]) {
$aPath[$currentFile][3] = $aPath[$currentFile][2];
// read in file again and re-populate mission table
var obj = document.getElementById($aPath[$currentFile][0]);
obj.contentWindow.location.reload();
var doc = (obj.contentDocument)? obj.contentDocument: obj.contentWindow.document;
var anchors = doc.getElementsByName('target');
// got target line?
if (0 < anchors.length)
{
doc.scrollTo(0, anchors[0].offsetTop);
}
}
Некоторые над головой:
- Высота IFrame был установлен в 257, когда были созданы 3 ряда фреймов.
- Этот iframe находится во втором ряду.
- Якоря [0] .offsetTop возвращается 834, что имеет смысл, так как сгенерированная веб-страница src содержит 80 строк.
- Для моего теста я либо прокручивал верхнюю, либо нижнюю часть страницы, прежде чем касаться входного файла, чтобы начать перезагрузку.
Итак, любые идеи, почему это не скрипт для целевой линии?
Вы пытались прокрутить элемент 'html' вместо' document'? – Teemu