2012-03-03 3 views
0

나는 안드로이드 웹 카탈로그를 만들고 있는데, 그 이유 때문에 iframe을 사용해야했다. 그러나 iframe의 버튼을 클릭하여 기본 페이지에서 코드를 작동시키는 것이 가능한지 묻고 싶습니다. iframe의 대상 버튼은 무엇입니까?

은 내가 가진 코드 :

 function initFastButtons() { 
     new FastButton(document.getElementById("CloseButton"), runclose); 
     new FastButton(document.getElementById("OpenButton"), runopen); 
    }; 
    function runclose() { 
     $('.full-preview-viewer').hide(); 
    }; 
    function runopen() { 
     $('.full-preview-viewer').show(); 
    }; 

그리고 이것은 iframe에 버튼이 모습입니다 :

<input id="OpenButton" type="image" src="products/special/product1.png" name="image" width="336" height="593"></input> 

덕분에 모두가

답변

1

당신은 정의를 이동할 수 있습니다 :) "runclose()"및 "runopen()"을 부모 창 (iframe을 만드는 문서)으로 가져옵니다. 그런 다음 iframe에서 initFastButtons() 설정을 수정하여 "parent.runclose"및 "parent.runopen"과 같은 함수를 참조 할 수 있습니다. 일반적으로이 종류의 것은 페이지가 동일한 도메인에서 요청되지 않으면 제한됩니다.

outer.html :

<html> 
<head> 
<script type="text/javascript"> 
window.do_action = function() { 
    alert('the button was clicked!'); 
} 
</script> 
</head> 
<body> 
    <iframe src="inner.html"></iframe> 
</body> 
</html> 

inner.html :

<html> 
<head> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
    $('button').click(parent.do_action); 
}); 
</script> 
</head> 
<body> 
    <button>Click Me!</button> 
</body> 
</html> 
+0

안녕하세요 제이슨, 조금 혼란 스러워요. '; I는 [iframe이 (http://www.nightlifebratislava.com/demos/mobile7/special.html) parent.runopen '()를 실행하는 기능을 실행하는 별도 jQuery 코드를 만들었다. 하지만 작동하지 않습니다 (PC에서도 작동하지 않지만 정상입니다). [여기에 메인 페이지가 있습니다] (http://www.nightlifebratislava.com/demos/mobile7) – pufAmuf

+0

그것은 고맙습니다! – pufAmuf

0

당신은 클릭 할 수 있습니다

이 두 페이지, "inner.html"와 "outer.html을"고려 다음 기술을 사용하여 iframe 내부의 버튼.

var $currentIFrame = $('#IFrameId'); 
$currentIFrame.contents().find("#OpenButton").trigger("click"); 
+0

안녕 Starx, 나는이 코드는하지만 버튼을 누를 때이 300ms가 안드로이드 장치에서 대기하지 않도록하는 역할을 내 FastButton 기능을 제거하는 것이라고 생각합니다. – pufAmuf

관련 문제