Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   как обернуть страницу во фрейм если она не хочет? (https://javascript.ru/forum/dom-window/40483-kak-obernut-stranicu-vo-frejjm-esli-ona-ne-khochet.html)

Kvark 07.08.2013 13:05

как обернуть страницу во фрейм если она не хочет?
 
Приветсвую, подскажите решение для такой проблемки пожалуйста:

апликация (вэбтер) генерит страницу, мне нужно ей добавить футер, напрямую не получаеться вклиниться так как используються серверлеты с хмл и скрипт генерацией на лету для ее создания и не могу изменить этот процес.

Думаю что нужно как то дождаться пока страница будет сформирована (загрузиться) и тогда ее запихнуть во фрейм, и добавить футер. Подскажите как это можно сделать?

Грузить сразу во фрейм не получаеться так как она проверяет свое положение и выскакивает из фрейма.

skrudjmakdak 07.08.2013 13:42

ну да.. мы все поняли.. пример показывайте

Kvark 07.08.2013 13:53

сложно показать как на самом деле но попытаюсь, моя страница такая:
<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>

если ее закоментировать она не грузиться вообще, поэтому я подумал что можно всесто этого скрипта добавить код который после ее загрузки сунет все во фрейм - но незнаю как это сделать

skrudjmakdak 07.08.2013 14:03

что то мне сложно всю эту картину представить... т.е. вы хотите подвал "подгрузить" через фрейм что ли?? а аяксом подгрузить нельзя?

mta88 07.08.2013 14:14

Цитата:

напрямую не получаеться вклиниться так как используються серверлеты с хмл и скрипт генерацией на лету для ее создания и не могу изменить этот процес
то есть не дают доступ к серверу?
или просто не разбираетесь в java-технологиях?

Deff 07.08.2013 14:24

Добавьте к ссылке соль, но чтобы сервер не реагировал(не учитывал) на нёё на данной странице
<script type="text/javascript">
	if (top.location != location) 
	{
		top.location.href = document.location.href+'?top' ;
	}
</script>

Kvark 07.08.2013 14:51

вся соль в том что доступ к серверу то есть и разрешение есть на пачинье любых файлов, но я действительно не знаю как это именно работает, мне нужно добавить дополнительную информацию, не нарушая работоспособности приложения, вот я и хочю запустить ее во фрейме, но она во фрейме не запускаеться, вот я и думаю что тогда подождать чтоб загрузилось и тогда содержание направить во фрейм как то, чтоб продолжало работать но уже во фрейме.

Само приложение формирует страницу как то так (привожу не полностью чтобы не захламлять, но надеюсь будет понятно суть:
<%@ 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>

skrudjmakdak 07.08.2013 14:56

вот, например, вы подключайте модули: <jsp:include page="<%=FrameworkBean.appBodyExtFile%>" />
может в этом модуле еще есть модуль.. так нельзя прям там и прописать то что вам нужно?

Kvark 07.08.2013 15:06

неразбираюсь я настолько в серверных модулях :(

skrudjmakdak 07.08.2013 15:10

ну тогда я вам не помогу( учите яву


Часовой пояс GMT +3, время: 23:00.