2010-06-29 4 views
0

내가 오라클 정점에 StackOverflow의에서이 스레드에서이 코드를 실행하려고하고의 setTimeout 호출이 작동하지 않는 경우로 가정으로 보이는 : 경우에서는 setTimeout 작동하지 않음 오라클 에이펙스

[see thread][1] 

<html lang="en"> 
<head> 
<title>Dashboard Example</title> 
<style type="text/css"> 
body, html { margin: 0; padding: 0; width: 100%; height: 100%; overflow: hidden; } 
iframe { border: none; } 
</style> 
<script type="text/javascript"> 
var Dash = { 
    nextIndex: 0, 

    dashboards: [ 
     {url: "http://www.google.com", time: 5}, 
     {url: "http://www.yahoo.com", time: 10}, 
     {url: "http://www.stackoverflow.com", time: 15} 
    ], 

    display: function() 
    { 
     var dashboard = Dash.dashboards[Dash.nextIndex]; 
     frames["displayArea"].location.href = dashboard.url; 
     Dash.nextIndex = (Dash.nextIndex + 1) % Dash.dashboards.length; 
     setTimeout(Dash.display, dashboard.time * 1000); 
    } 
}; 

window.onload = Dash.display; 
</script> 
</head> 
<body> 
<iframe name="displayArea" width="100%" height="100%"></iframe> 
</body> 
</html> 

오라클 APEX와 사람 v3.0.1에서이 기능을 사용해 보시고, 계속 해보시겠습니까?

감사합니다.

답변

0

이 문제는 Apex와 관련이 없습니다. 실제로 게시 한 HTML을 가져 와서 파일에 저장하고 브라우저에서 테스트하여 테스트 해 볼 수 있습니다.

불행하게도 www.google.com은이 코드와 함께 작동하지 않는 URL입니다. 프레임에서 브라우저 윈도우로 팝하는 자체 "프레임 버스트"자바 스크립트가 포함되어 있기 때문에 코드는 다음과 같습니다. 더 이상 실행되지 않습니다. 비슷한 stackoverflow.com 않습니다. 예를 들어 첫 번째 URL을 www.bbc.com으로 변경하면 프레임에서 튀어 나올 때까지 stakoverflow.com에 도달 할 때까지 (IE의 경우 어쨌든) 작동합니다.

+0

IE6에서는 제대로 작동하지만 프레임을 사용하는 대신 document.getElementById ("iframe")를 사용하여 iframe src를 참조하도록 코드를 변경한다는 점을 이해해야합니다. src = dashboard.url 문제가 Apex에서 setTimeout 호출과 함께 있다고 생각하십시오. 테스트 토니로서 위의 코드에서 메시지를 경고하고 해당 함수를 setTimeout ("yourFunction();", 5000)을 사용하여 호출하는 더미 함수를 작성하십시오. 그러면 잘 작동하지 않을 것입니다. Pls 알려주세요 - 감사합니다. – tonyf

+0

또한 인트라넷 URL을 사용하고 google.com 또는 stackoverflow URL을 내 코드에서 참조하지 않습니다. – tonyf

+0

좋습니다, Apex 3.0이 없지만 apex.oracle.com에서 Apex 4.0으로 테스트했는데 제대로 작동합니다. http://apex.oracle.com/pls/otn/f?p=37742:1 –