2011-09-01 2 views
0

내 웹 페이지에 iframe의 형태로 Coupons.com 피드가 있는데이 iframe에서 일부 JavaScript를 실행하고 싶습니다. 첫 페이지 인 기본값 이외의 다른 페이지에서 열길 원합니다.javascript : 원격 소스가있는 iframe 용 GoToPage

http://www.coupons.com으로 가면 내가 사용하고있는 것과 동일한 피드를 볼 수 있습니다.

위의 쿠폰은 1-10 페이지 목록입니다. 예를 들어 페이지 3 위로 커서를 이동하면 매우 간단 해 보이는 javascript:GoToPage(3)으로 읽지 만 스크립트를 작성하고 페이지 1 대신 페이지 3을 표시하는 방법을 알아낼 수 없습니다. 미리 감사드립니다. -

답변

0

그들은 ajax를 통해 페이지를 다시로드하고 있습니다. (내가 대답 다른 질문에서 복사) 같은

뭔가 :

HTML

<a href="#" onclick="page('1')"></a> 
<a href="#" onclick="page('2')"></a> 
<a href="#" onclick="page('3')"></a> 

JAVASCRIPT

function xmlhttp() { 
    var x; 
    try { 
    x = new ActiveXObject('Microsoft.XMLHTTP'); 
    } catch (e) { 
    try { 
     x = new ActiveXObject('Msxml2.XMLHTTP'); 
    } catch (e) { 
     try { 
     x = new XMLHttpRequest(); 
     } catch (e) { 
     x = false; 
     } 
    } 
    } 
    return x; 
} 

function page(idMenu) { 
    var http = xmlhttp(); 
    if (!http) { 
    alert('XmlHttpRequest non supporté'); 
    } else { 
    var url = 'pageOutput.php?pageNo=' + idMenu; 
    http.open('GET', url, true); 
    http.onreadystatechange = function() { 
     if (http.readyState == 4 && http.status == 200) { 
     document.getElementById('pageContent').innerHTML = http.responseText; 
     } 
    } 
    http.send(); 
    } 
} 

지금 당신이해야 할 남은 모두는 PHP를 만들 어디 어떤 메뉴 ID가 호출되었는지 확인하고 $ _GET [ 'pageNo']에 따라 페이지 내용을 반향합니다. 이미 많은 PHP/HTML에 페이지를 가지고 있다면 당신은 또한 그냥 ...

if(isset($_GET['pageNo'])){ 
    //echo page code here according to $_GET['pageNo'] value 
}else{ 
    //echo main page 
} 

편집을 포함하고 에코 할 수 있습니다 : 사용자가 페이지를 다시로드 할 수 있도록 또한 현재 페이지를 참조하는 URL의 PARAM를 추가 할 수 있습니다 매개 변수가로드되지 않고 새 창에서 ...

EDIT : Iframe 버전은 전체 iframe을 다시로드합니다. 페이지를 변경하면 iframe이 깜박입니다. 내가 강력하게 권장 div 콘텐츠를 사용하여, 훨씬 쉽습니다.