как обернуть страницу во фрейм если она не хочет?
Приветсвую, подскажите решение для такой проблемки пожалуйста:
апликация (вэбтер) генерит страницу, мне нужно ей добавить футер, напрямую не получаеться вклиниться так как используються серверлеты с хмл и скрипт генерацией на лету для ее создания и не могу изменить этот процес. Думаю что нужно как то дождаться пока страница будет сформирована (загрузиться) и тогда ее запихнуть во фрейм, и добавить футер. Подскажите как это можно сделать? Грузить сразу во фрейм не получаеться так как она проверяет свое положение и выскакивает из фрейма. |
ну да.. мы все поняли.. пример показывайте
|
сложно показать как на самом деле но попытаюсь, моя страница такая:
<body bgcolor="#E6E6FA"> <div id="WrapperHeader"> <br /> Header <br /> </div> <div class="WrapperEmbedHolder"> <iframe id="EmbedContent" src="ess.do" width="100%" height="500px" hspace="0" marginwidth="0" align="center" frameborder="0"> Sorry but your browser can't display IFRAMEs </iframe> </div> <div id="WrapperFooter"> <br /> Footer <br /> </div> </body> сервлет сгенерирует страницу на лету с названием "ess.do" в которой присутсвует такая конструкция: <script type="text/javascript"> if (top.location != location) { top.location.href = document.location.href ; } </script> если ее закоментировать она не грузиться вообще, поэтому я подумал что можно всесто этого скрипта добавить код который после ее загрузки сунет все во фрейм - но незнаю как это сделать |
что то мне сложно всю эту картину представить... т.е. вы хотите подвал "подгрузить" через фрейм что ли?? а аяксом подгрузить нельзя?
|
Цитата:
или просто не разбираетесь в java-технологиях? |
Добавьте к ссылке соль, но чтобы сервер не реагировал(не учитывал) на нёё на данной странице
<script type="text/javascript"> if (top.location != location) { top.location.href = document.location.href+'?top' ; } </script> |
вся соль в том что доступ к серверу то есть и разрешение есть на пачинье любых файлов, но я действительно не знаю как это именно работает, мне нужно добавить дополнительную информацию, не нарушая работоспособности приложения, вот я и хочю запустить ее во фрейме, но она во фрейме не запускаеться, вот я и думаю что тогда подождать чтоб загрузилось и тогда содержание направить во фрейм как то, чтоб продолжало работать но уже во фрейме.
Само приложение формирует страницу как то так (привожу не полностью чтобы не захламлять, но надеюсь будет понятно суть: <%@ include file="jspheader.jsp" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://openview.hp.com/xmlns/cwc/web/fw" prefix="cwc" %> <jsp:setProperty name="framework" property="requestParams" value="<%= request.getParameterMap() %>" /> <html decorator="blank"> <head> <title><%=appLabels.getString("App.Title")%></title> <link rel="shortcut icon" href="<%=FrameworkBean.getAppIcon(request)%>" /> <link rel="stylesheet" type="text/css" href="<%=contextPath%>/js/extjs/resources/css/ext-all-notheme.css" ></link> ... <script type="text/javascript" src="<%=contextPath%>/js/ux/mif/miframe.js"></script> <script type="text/javascript"> Ext.namespace('cwc.ux'); var logoutMessage = ""; Ext.apply(cwc, { pageReloaded: true, frameworkContext: '<%=contextPath %>', theme: '<%=framework.getTheme()%>', ... }); </script> <c:if test="<%= (application.getResource(FrameworkBean.appHeaderExtFile) != null) %>"> <%-- Extension point for adding content to the head --%> <jsp:include page="<%=FrameworkBean.appHeaderExtFile%>" /> </c:if> </head> <body onload="cwc.getFrameworkWindow()"> <%@ include file="fw/cwc_fwHeader.jspf" %> <c:if test="<%= (application.getResource(FrameworkBean.appBodyExtFile) != null) %>"> <%-- Extension point for adding content to body --%> <jsp:include page="<%=FrameworkBean.appBodyExtFile%>" /> </c:if> </body> </html> |
вот, например, вы подключайте модули: <jsp:include page="<%=FrameworkBean.appBodyExtFile%>" />
может в этом модуле еще есть модуль.. так нельзя прям там и прописать то что вам нужно? |
неразбираюсь я настолько в серверных модулях :(
|
ну тогда я вам не помогу( учите яву
|
факт! :) вопрос то был как загрузившиюся страницу поместить во фрейм, не?
|
Kvark,
1. Проверьте тупо контент по ссылке c добавкой ? и без добавки вопросительного знака в конце - совпадает- если совпадает - то ставьте скрипт такой <script type="text/javascript"> if (top.location != location) { top.location.href = document.location.href+'?' ; } </script> |
может наоборот? поместить фрем в загрузившуюся страницу?? вот это можно
|
skrudjmakdak,
Суть в том, что фрейм не грузиться при совпадении ссылок на главной и во фрейме |
Deff, я уже сколь пытаюсь понять, что нужно.. и честно говоря у меня с трудом получается.
ну разумеется не будет грузится дабы стоит условие.. |
Deff - идею понял но не срабатывает, выпрыгивает все равно из фрейма.
skrudjmakdak - cуть не в условии - я могу его закоментировать, но тогда ничего не работает, тут что то как Deff говорит похожее... Мне именно что нужно обратное действие - как фрейм запихнуть это я знаю, а реверс неполучаеться. поясню: Вот есть страница, которую грузит юзер, мне нужно что бы она оказалась во фрейме после загрузки, тоесть в document появился бы фрейм и все что было до этого попало бы в него и самое главное продолжило работать :) согласен что необычно, но подругому не придумаю как себе выделить место на странице которая непонятно как (для меня) создаеться... :) |
Вариант 1. Добавить к ccылке в скрипте "?"
2. ставить сразу Цитата:
Цитата:
<script type="text/javascript"> var first = true; function setLnk(frame){ if(first ){first = false;frame0.location= "http://javascript.ru/forum/dom-window/40483-kak-obernut-stranicu-vo-frejjm-esli-ona-ne-khochet-2.html" }//Тут может быть любая} } </script> <iframe src="" height=340 width="100%" name="frame0" onload="setLnk(this)"></iframe> скрипт ставим до фрейма |
пробую
|
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 02:31. |