Jak wykrywać kliknięcie przez użytkownika łącza znajdującego się w ramce iframe za pomocą JavaScript?JavaScript: Wykrywanie kliknięcia linku wewnątrz ramki iframe
Odpowiedz
Jesteś w stanie sprawdzić zdarzenie obciążenia iframe
onLoad="alert(this.contentWindow.location);"
lub jQuery:
$('iframe#yourId').load(function() {
alert("the iframe has been loaded");
});
Ładowanie elementu iframe nie ma nic do wykrycia kliknięcia łącza w elemencie iframe – epascarello
, dlaczego? Po kliknięciu linku zostanie zmieniona lokalizacja elementu iframe, a więc zdarzenie ładowania iframe powinno zostać uruchomione. – Anton
Właściwie to działało dla mnie, ponieważ nie muszę wykrywać każdego kliknięcia w ramce, ale kliknę link, który jest równy zmianie lokalizacji iframe. EDYCJA: Mogę tylko zaakceptować tę odpowiedź, nie mogę głosować z jakiegoś powodu (nie przegłosowałem tego). – Paul
Zakładając, że masz element iframe o identyfikatorze "myIframe", a element iframe pochodzi z tej samej domeny co dokument główny, poniższe wykrywa kliknięcie w dowolnym miejscu dokumentu. To będzie również działać, gdy dokument jest edytowalny, który za pomocą dokumentu onclick
nieruchomość nie:
function iframeClickHandler() {
alert("Iframe clicked");
}
var iframe = document.getElementById("myIframe");
var iframeDoc = iframe.contentDocument || iframe.contentWindow.document;
if (typeof iframeDoc.addEventListener != "undefined") {
iframeDoc.addEventListener("click", iframeClickHandler, false);
} else if (typeof iframeDoc.attachEvent != "undefined") {
iframeDoc.attachEvent ("onclick", iframeClickHandler);
}
zakłada to, że element iframe nie jest domeną krzyżową. – erikvold
@erikvold: Prawidłowe. Dodałem notatkę do mojej odpowiedzi. –
- 1. Wywołanie funkcji wewnątrz elementu iframe spoza ramki iframe
- 2. Wykrywanie osadzania iFrame w JavaScript
- 3. Wyłączanie plików cookie wewnątrz ramki/ramki zewnętrznej
- 4. Wykrywanie po stronie serwera, że strona jest wyświetlana wewnątrz ramki IFrame
- 5. Złap javascript: window.close() wewnątrz iframe
- 6. Jquery wewnątrz Iframe
- 7. Wyłącz wszystkie linki wewnątrz ramki IFRAME, używając jQuery
- 8. JavaScript za pomocą metody replace wewnątrz iframe
- 9. Wykrywanie kliknięcia elementu w elemencie
- 10. Wykrywanie zmiany orientacji z wewnątrz iframe w wielu domenach
- 11. wyzwalania zdarzenia kliknięcia w oknie nadrzędnym iframe
- 12. Problem z rozmiarem ramki iframe w aplikacji iframe na Facebooku
- 13. jQuery, wybierz element wewnątrz iframe, który jest wewnątrz iframe
- 14. Dodawanie modułu obsługi zdarzeń kliknięcia do iframe
- 15. Google Chrome Błąd linku JavaScript
- 16. Rozciąganie ramki iframe w HTML5
- 17. wyzwalające jedno kliknięcie wewnątrz iframe
- 18. Dodawanie detektora zdarzeń do ramki iframe
- 19. jQuery: zastąp tekst wewnątrz linku?
- 20. Odświeżanie JPanel wewnątrz ramki
- 21. Jak zamknąć iframe od wewnątrz iframe?
- 22. Dopasowywanie iframe wewnątrz div
- 23. wykryj kliknięcie wewnątrz iframe
- 24. Jak uzyskać URL z ramki iframe za pomocą PHP
- 25. OAuth nie działa wewnątrz ramki ifram
- 26. Zapobiegaj "przejęciu" intencji kliknięcia linku, gdy stosujesz niestandardową funkcję zdarzenia kliknięcia.
- 27. Javascript: Jak zmienić rozmiar ramki?
- 28. Wykrywanie zdarzenia kliknięcia środkowym przyciskiem myszy jQuery
- 29. Wykrywanie kliknięcia myszą w skrypcie bash
- 30. Sterowanie wysokością ramki iframe za pomocą jQuery
Możesz dodać JavaScript do elementu iframe, jeśli element iframe znajduje się w tej samej domenie. – epascarello