Chrome script d'erreur: “Dangereux JavaScript tentative d'accès à une image”
//the iframe of the div I need to access
var iframe = document.getElementsByTagName("iframe")[2];
var innerDoc = iframe.contentDocument || iframe.contentWindow.document;
//resize 'player' in the iframe
innerDoc.getElementById('player').width = "1000px";
innerDoc.getElementById('player').height = "650px";
Cours d'exécution dans un script pour cette url: http://www.free-tv-video-online.me/player/sockshare.php?id=24DA6EAA2561FD60
Pourquoi Chrome sortir avec cette erreur et de l'échec de l'exécution du script?:
Unsafe JavaScript attempt to access frame with URL http://www.sockshare.com/embed/24DA6EAA2561FD60
from frame with URL http://www.free-tv-video-online.me/player/sockshare.php?id=24DA6EAA2561FD60.
Domains, protocols and ports must match.
(Je ne suis qu'un code Javascript de base de l'utilisateur)
Code Final, un grand merci pour le répondeur:
//==UserScript==
//@name Resize
//@include http://www.free-tv-video-online.me/player/sockshare.php*
//@include http://www.sockshare.com/*
//==/UserScript==
if (!(window.top === window.self)) {
var player = document.getElementById('player');
setSize(player);
}
function setSize(player) {
player.style.setProperty("width", "1000px");
player.style.setProperty("height", "650px");
}
OriginalL'auteur J.B. | 2012-05-19
Vous devez vous connecter pour publier un commentaire.
Il est vrai que d'ordinaire javascript ne peut pas accéder contenu de l'iframe, c'est sur un autre domaine, pour des raisons de sécurité. Cependant, cela ne signifie s'arrête userscripts en Chrome, Tampermonkey ou Greasemonkey.
Vous pouvez traiter iframed contenu dans un script, car Chrome (et Firefox) processus iframe avais pages, comme s'ils étaient la page principale. La comptabilité pour qui, les scripts de ces pages est un composant logiciel enfichable.
Par exemple, supposons que vous avez cette page à domain_A.com:
Si vous définissez votre
@match
directives comme ceci:Alors votre script sera exécuté à deux reprises: une fois sur la page principale, et une fois sur l'iframe, comme s'il était autonome de la page.
Donc, si votre script comme ceci:
Vous consultez la page principale de citron vert, et le iframed page en rose.
Alternativement, vous pouvez tester comme ceci:
Comme vous l'avez découvert (par un commentaire sur un autre réponse), vous pouvez désactiver la même origine sur Chrome. Ne le faites pas! Vous laissez-vous ouvrir toutes sortes d'entourloupettes mis en place par les mauvaises personnes. Outre le mal de sites, de nombreux nominalement "bons sites" -- qui permettent aux utilisateurs de publier du contenu-pourrait éventuellement piste, hack, ou d'usurpation de vous.
Vous êtes les bienvenus; heureux de vous aider!
OriginalL'auteur Brock Adams
Pour des raisons de sécurité de votre navigateur ne vous permettra pas d'accéder à de javascript dans un iframe dans un autre domaine.
Voir le haut de réponse ici:
jQuery croix de domaine iframe script
stackoverflow.com/a/6083677/1053937 - trouvé un moyen de la désactivation de cette option de sécurité 🙂
Ne s'attendant pas à bien êtes-vous?
Cette réponse n'est pas correcte pour les userscripts. Ils ont un mécanisme de travailler autour de cette croix-de restriction de domaine, et sans compromettre la sécurité.
Rhodesian, comme je l'ai dit c'est pour un script
OriginalL'auteur Sherms