Доброго дня. Пытаюсь сделать вывод в Iframe части контента с другой страницы сайта. Id элемента известен ( DeltaPlaceHolderMain ) Есть ли решение ? Подозреваю что надо через document.getElementById. Но как ? Пока обхожусь таким способом, но так я получаю только часть строк, так как не знаю заранее сколько всего сообщений. Код (PHP): <style type="text/css"> #block1{ overflow: hidden; width:750px; height:175px; } </style> <script type="text/javascript"> function f(){ document.getElementById('block1').scrollTop = 200; document.getElementById('block1').scrollLeft = 190; } </script> <body onload="f()"> <div id="block1"> <iframe src="http://portal:8081/People/_layouts/15/portal/Messenger/ReceivedMessages.aspx" width="1000" height="400" name="iframe1" scrolling="no"></iframe> </div> </body> PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
Просто в поиск можно было написать: javascript iframe getElementById Код (PHP): document.getElementById('id iframe').contentWindow.document.getElementById('DeltaPlaceHolderMain')
Если нужна часть, можно использовать фишку метода jQuery.load() http://api.jquery.com/load/#loading-page-fragments И можно не усложнять дло никакими ифреймами. Грузи в любое место на странице.
Вот скриншот самих сообщений. Вот как они сейчас на главной странице Что-то я не понимаю как сделать вариант предложенный denis01. P.S Просьба сильно не бить. Не программист. Обычный админ, загруженный работой. P.P.S За помощь скину денюжку на телефон. С Уважением... Добавлено спустя 5 минут 46 секунд: На втором скриншоте заметно, что видны не все сообщения. И много пустого места, которое занимает фрейм. Добавлено спустя 7 минут 12 секунд: Код элемента, который нужно закинуть на главную
Я с удовольствием оставил бы и первый свой вариант. Но в дескворке, в элементе веб-часть для скриптов он отрабатывается по-дурному. Веб часть как была 250 пикселей - так и остается. Но под ней появляется еще пустое место на 150 пикселей. Как раз разница в высоте веб части и ифрейма (который у меня 400 пикселей). Помогите, пожалуйста. Я уже много чего перепробовал. document.getElementById('id iframe').contentWindow.document.getElementById('DeltaPlaceHolderMain') - вообще выдает просто пустое поле, чистый лист.
автор игнорирует мое предложение не использовать iframe, а применять jquery load, который умеет всё что требуется из коробки.
Ну автор пришел к такому варианту. Код (PHP): <div id="inf"></div> <script type="text/javascript"> $('#inf').load('http://portal:8081/People/_layouts/15/portal/Messenger/ReceivedMessages.aspx #DeltaPlaceHolderMain'); </script> Все работает так, как надо. Единственно, путь по умолчанию к пиктограммам (png) изменился и они не отображаются. Сейчас бьюсь над этим. Добавлено спустя 1 минуту 1 секунду: Да и автор что в яваскрипт, что в Jquery - как хрю-хрю в винограде.
вот и славно! Добавлено спустя 2 минуты 14 секунд: в адресах используй абсолютный (начинающийся на "/") путь,это самый простой способ добиться переносимости
Адрес для рисунков становится такой: http://portal:8081/images/portal/Messenger/MessageType_Text.png А на оригинальной странице он: http://portal:8081/People/_layouts/15/images/portal/Messeng ... e_Text.png Даже если путь использую относительный.
Мил человек, будь добрый, дай хорошего пинка в нужную сторону Добавлено спустя 30 минут 29 секунд: Сделал так: Код (PHP): <base href="http://portal:8081/People/"> <div id="inf"></div> <script type="text/javascript"> $('#inf').load('_layouts/15/portal/Messenger/ReceivedMessages.aspx #DeltaPlaceHolderMain'); </script> Однофигственно. В исходнике путь к рисунку прописан так: Код (PHP): <img id="ctl00_PlaceHolderMain_SentMessagesControl_MessageList1_MessagesSPGridView_ctl04_MessageTypeImage" title="Текстовое сообщение" src="../../images/portal/Messenger/MessageType_Text.png"> Добавлено спустя 6 минут 33 секунды: ИИес...сделал Решение: Код (PHP): <base href="http://portal:8081/People/_layouts/15/DeskWork/Messenger/"> <div id="inf"></div> <script type="text/javascript"> $('#inf').load('ReceivedMessages.aspx #DeltaPlaceHolderMain'); </script>
легких путей ты не ищешь, да? будешь полагаться на base — будет больно. локальный абсолютный путь к картинке, как я понял из примера, выглядит так: "/People/_layouts/15/images/portal/MessageType_Text.png". вот так и надо его писать в теге <img>, без анального стимулирования.
Фишка в чем, что где зарыт этот локальный абсолютный путь к картинке я не знаю. Перерыл всю эту лабуду, включая базу. Предполагаю, что динамически формируется. Этот дескворк та еще лабудень.