2009-03-16 4 views
0

나는 애플릿을 초기화하는 데 약 40 초가 걸린다. (캡은 캐시되어 있으므로이 질문에 대한 다운로드 시간은 무시한다.)웹 페이지에서 애플릿이 언로드되는 것을 방지하는 방법?

사용자가 애플릿 (단일 창)을 시작한 다음 페이지 B로 이동하면 애플릿이 언로드됩니다. 사용자가 페이지 A로 돌아 가면 초기화 시간이 40 초가됩니다.

애플릿을 시작하고 40 초의 초기화 시간을 한 번만 내고 싶습니다. 애플릿은 단일 브라우저 창 (웹 응용 프로그램과 동일한 창)에 있어야합니다. 즉, 팝업으로 애플릿을 시작할 수 없습니다.

애플릿 언로드를 방지하는 방법에 대해 창의적인 아이디어가있는 사람이 있습니까?

답변

0

언로드하지 않는 프레임에 애플릿을 넣거나 사용자가 애플릿이 포함 된 웹 페이지의 다른 페이지로 이동하지 못하도록합니다.

1

유일한 옵션은 전체 문서를 포함하는 iframe에 내용을 넣고 애플릿에 절대 위치 지정을 사용하는 것입니다.

애플릿은 항상 같은 장소에 positionned됩니다
  • 에 상관없이 페이지
  • :

    #content { 
        width:100%; 
        height: 100%; 
    } 
    
    #applet { 
        position: absolute; 
        left: LEFT_POSITION; 
        top: TOP_POSITION; 
        width: DESIRED_WIDTH; 
        height: DESIRED_HEIGHT; 
    } 
    

    이 많은 단점이있다 : 이것과 같은 CSS로

    <body> 
    <iframe id='content' src='FIRST_URL'></iframe> 
    <object id='applet'></object> 
    </body> 
    

    IE에서 특히 iframe 전체 너비와 전체 높이를 얻으려고 할 것입니다.

  • It is possi 당신은 또한 애플릿이 올바르게 보이도록 고통을받을 것입니다 (iframe 상단에있는 객체입니다. 어떤 문제가 생길지 상상할 수 없습니다)
  • 외부로 연결되는 링크를 클릭하면 애플릿이 유지됩니다 귀하의 사이트에 대한 링크를 설정하지 않으면 (예 : target = 'top'또는 target = 'blank __ blank)
+0

이렇게하면 브라우저 URL이 페이지간에 변경되지 않습니다. 내가 원하는게 아니야. –

0

작은 브라우저 창을 팝업하고 애플릿을 가질 수 있을지도 모른다고 생각했습니다. 그런 다음 Javascript를 사용하여 작은 창에서부터 큰 브라우저로 애플릿을 가져옵니다.

나는 이런 방식으로 DOM을 조작 할 수 있다고 생각하지 않는다.

다른 아이디어?

1

당신은 이런 식으로 경고를 보여줄 수 :이 allmost 모든 브라우저에서 작동

if(window.body)window.body.onbeforeunload=function(){if(window.event)window.event.returnValue="UNLOAD MSG";};else window.onbeforeunload=function(){return "UNLOAD MSG";}; 

,하지만 당신은 당신의 텍스트를 둘러싼 텍스트를 변경할 수 없습니다.

관련 문제