2013-06-24 1 views
0

다음과 같은 시나리오가 있습니다. 사용자가 웹 사이트를 떠나려고 할 때 확인 메시지를 표시하고 그 순간에 DOM을 약간 수정합니다. 비록 DOM을 수정해야한다는 사실에도 불구하고, 이미지가 미리로드 되어도 나타나지 않습니다. Ajax를 사용해 보았지만 그 순간 모든 연결이 차단 된 것처럼 보입니다.은 렌더링 된 이미지를 차단합니까?

<div id="content"> 
    my original content... 
</div> 

<button id="trigger">click</button> 

<script type="text/html" id="template"> 
    <div> 
     <img src="/css/images/dmbtest.gif"/> 
    </div> 
</script> 

<script type="text/javascript"> 
    $(function(){ 
     window.onbeforeunload = function() { 
      $('#content').html($('#template').html()); 
      window.onbeforeunload = null; 
      return "some cool message"; 
     } 
    }); 
</script> 

어떤 제안 :

여기 내 예제 코드인가? Ajax를 통해 컨텐트를로드 할 수 있기를 원하지만 ... :(

답변

1

숨겨진 div에 #template HTML을 렌더링하고 beforecontroller에 #content에 HTML을 쓰지 않으면 어떻게할까요? 표시하려는 언로드 콘텐츠가 있습니까?

브라우저가 본질적으로 잠겨있어 잠긴 이미지처럼 비동기식으로 쓸 수 없다고 생각합니다.이 비동기식 글씨는 이미 표시됩니다.

에게. 그냥 추측 일을하지만 난 그 일을 생각한다?

E DIT : 죄송합니다. 나는 당신의 '떠날 이유가 없다'고 경고했다. 나는 그것이 당신이하는 일이 아니라는 것을 깨달았습니다. 그러므로 무시하십시오. :)

+0

디스플레이 간 전환 : 블록/없음 또는 마진 - 상단 : -10000px/0px가 실제로 작동합니다. 저에게 궁금한 점은 DOM에 실제로 글을 쓸 때 이미지가 미리로드되었지만 (크롬의 네트워크 탭을 통해 확인 됨) 이미지가 렌더링되지 않는다는 것입니다. 하지만 어쨌든, 해결 된 문제;) – ptheofan

+0

흥미 롭습니다. 어떤 종류의 위조 방지 일 수 있습니다. 브라우저가 그러한 것들을 차단하기 전에 페이지를 떠나지 못하게하기 위해 onunload를 사용하는 것과 같은 페이지. 왜 이미지가 그 안에 포함될 지 모르지만 어쩌면. – oooyaya

관련 문제