2012-02-05 3 views
0
내가이 일을 수행하기 위해 onclick 2 자바 스크립트를 결합하고있어

:
를 중지 A가 들어 오디오 플레이어
2.로드 및 iframe을 비디오자바 스크립트

다음 코드는 모든 브라우저에서 작동

하지만 아이폰 OS (아이폰, 아이 패드)

<a class="aboutclick" href="#" onclick="stop2();document.getElementById('frame').innerHTML='&lt;iframe src=&quot;paul-on-paul.html&quot; width=&quot;100%&quot; height=&quot;600&quot; scrolling=&quot;no&quot; frameborder=&quot;no&quot;&gt;&lt;/iframe&gt;'"><img src="assets/video-cold.jpg" alt="paul-gregory-video" width="161" height="81" border="0" /></a> 

onclick 코드의 시작 부분에있는 stop2() 음악 플레이어를 해제하는 것이다. (플래시 오디오 플레이어이므로 iOS에는 적용되지 않습니다). 이 코드가있는 iPad, iPhone에서는 이미지를 탭하지 않습니다.

onclick 코드에서 stop2();을 제거하면 iframe이 iOS 기기에서로드됩니다.

음악을 삭제하려면 stop2()을 사용할 수 있어야하지만 iOS 기기에서도 작동해야합니다.

제안 사항?

근무 예 : http://www.fixxed.com/test/pg이 (오른쪽 아래에있는 비디오 썸네일을 클릭)

답변

1

먼저 당신이 이런 식으로, 클릭시 해당 기능을 함수로 이동 모든 온 클릭 코드를 이동 한 후 호출 제안 :

window.foo = function(e) { 
    stop2(); 
    document.getElementById('frame').innerHTML='<iframe src="paul-on-paul.html" width="100%" height="600%" scrolling="no" frameborder="no"></iframe>' 
} 

... 

<a class="aboutclick" href="#" onclick="foo"> 
    <img src="assets/video-cold.jpg" alt="paul-gregory-video" width="161" height="81" border="0" /> 
</a> 

이렇게하면 읽기 쉽고 유지 관리가 훨씬 쉬워집니다. 아이폰 OS가 stop2() 전화에 질식 것 같다

window.foo = function(e) { 
    stop2(); 
} 

window.bar = function(e) { 
    document.getElementById('frame').innerHTML='<iframe src="paul-on-paul.html" width="100%" height="600%" scrolling="no" frameborder="no"></iframe>'; 
} 

... 

<a class="aboutclick" href="#" onclick="foo" ontouchstart='bar'> 
    <img src="assets/video-cold.jpg" alt="paul-gregory-video" width="161" height="81" border="0" /> 
</a> 
+0

이 코드를 쓸모 없게 구현하려고 시도했지만 코드 끝 부분에 stop2()를 추가하는 것이 좋습니다. – rod

-1

: 그럼 대신 클릭 이벤트의 모바일 터치 이벤트를 사용하여 조사, 당신이 이런 일에 종료됩니다 건의 할 것입니다. 브라우저가 iOS 기기인지 (사용자 에이전트 문자열을 사용하는 단순하고 좋지 않은 방법) 또는 브라우저가 Modernizr을 사용하여 해당 기능을 지원하는지 확인 (더 나은 방법)을 시도해 볼 수 있습니다. . 그런 다음 iOS 브라우저임을 감지하면 stop2()에서 돌아옵니다.

희망이 도움이됩니다.

+0

이것은 매우 나쁜 답변이며 어떤 식 으로든 도움이되지 않습니다. addEventListener를 사용하여 onclick 이벤트에 중앙 기능을 첨부해야합니다. 더구나, 그는 stop2 기능에서 무언가를 감지해야하는데, 그저 iOS가 chocke하는 것처럼 보이는 arround 만 있다고 가정해야합니다. "stop2에서 돌아온다"는 해결책이 아닙니다. 그가 다른 일을해야한다면 – japrescott

+0

네, 몇 가지 의견에 대해서는 의견에 동의하지 않을 것입니다. 그는 stop2()가 플래시 음악을 끄는 기능이라고 언급했습니다. Flash 음악은 iOS 기기에서는 아무 것도하지 않습니다. 따라서 iOS 기기를 감지 한 후 방금 돌아왔다면 괜찮을 것입니다. 나는 그가 onclick 이벤트를 위해 중앙 집중식 함수를 사용해야한다는 데 동의하지만, 위의 대답은 이미 언급했다. 게다가 OP가 요구 한 것이 아닙니다. – donkim

+0

방금 ​​코드 끝에 "stop2()"를 추가했는데 제대로 작동합니다. – rod