2016-12-23 4 views
1

У меня есть страница A.html, встроенная страница B.html через iframe.Как прокрутить до определенного места в iframe с помощью javascript

A.html

<Html> 
    <Head> 
    <Title> A.html </title> 
    </Head> 
    <Body> 
    <Iframe name = "myframe" id = "myframe" src = "B.html" frameborder = "0"/> 
</Body> 
</Html> 

B.html

<Html> 
<Head> 
    <Title> B.html </title> 
    <Style type = "text/css" media = "screen"> 
    .body {margin: 0px 0px 0px 0px; font-size: medium;} 
    </Style> 
</Head> 
    <Body class = "body"> 
    <Table width = "100%" height = "100%" align = "left" cellspacing = "0" cellpadding = "0"> 
     . 
     . 
    </Table> 
    <Table width = "100%" height = "100%" align = "left" cellspacing = "0" cellpadding = "0"> 
     The content I want to display! 
    </Table> 
    <Table width = "100%" height = "100%" align = "left" cellspacing = "0" cellpadding = "0"> 
    . 
    . 
    </Table> 
    </Body> 
    </Html> 

Я хочу, чтобы отобразить содержимое table2 B.html в в A.html, я нашел некоторые методы, такие как

var myIframe = document.getElementById('myframe'); 
    myIframe.onload = function(){ 
     myIframe.contentWindow.scrollTo(100,500); 
    }; 

, но размер страницы B.html не установлен, и есть три таблицы с height = "100%", B.html отображается в процентах от страницы, и она прокручивается до трех страниц в браузере. так scrollTo (x, y) способ не работает, есть ли хороший способ? Большое спасибо!

+0

A.html моя страница, B.html не моя страница, это на другом сервере – adonm

+0

Установите URL в IFRAME 'src' в' B.html/# table2' что можно прокрутить его до идентификатора элемента таблицы 2 или установить любое #ElementId, которое вы хотите прокрутить? – NewToJS

+0

Спасибо, но в реальном B.html нет идентификатора таблицы, а B.html не является моей страницей, я не могу ее изменить. Есть ли другие способы? – adonm

ответ

0

Вы можете перейти к позиции любого элемента HTML, на котором установлен идентификатор.

Итак, если есть таблица <table id="my-table">, вы можете использовать привязку для перехода к ней.
<a href="#my-table">go to table</a>

То же самое касается содержания внутри iframe.
Укажите источник, который вы хотите, и добавьте #my-table (или что-то подобное) в конце.

В нижеприведенном фрагменте я использовал iframe, который указывает прямо на #footer на главной странице Stackoverflow.com.

.myframe { 
 
    height: 320px; 
 
    width: 480px; 
 
}
<iframe class="myframe" src="http://www.stackoverflow.com#footer"></iframe>

+0

Но использование якоря означало бы, что вы должны добавить якорь в 'B.html', где, как если бы вы просто установили/изменили src iframe, вам не нужно добавлять больше контента на страницу iframed. Вы в основном предлагаете решение, которое не то, о чем просит ОП, а затем повторяет мой комментарий выше. – NewToJS

+0

Спасибо, но нет идентификатора таблицы в реальном B.html, а B.html не является моей страницей, я не могу ее изменить. Есть ли другие способы? – adonm

Смежные вопросы