2015-05-15 6 views
11

Ho un plug-in che registra l'azione dell'utente su qualsiasi sito Web. Le azioni sono registrate in una finestra diversa dello stesso browser. Per IE, funziona correttamente su tutti i siti tranne quelli con Iframe. Lo script viene bloccato sui siti con iframe con il seguente errore: SCRIPT5: accesso negato.Problema al plug-in JQuery con IFrame

È un plug-in creato autonomamente.

L'errore è il window.open Esso non apre una nuova finestra correttamente

riportano di seguito le frammento di plugin.

newwindow = window.open("", "ScriptGen", "menubar=0,directories=0,toolbar=no,location=no,resizable=yes,scrollbars=yes,width=450,height=250,titlebar=0"); 

newwindow.document.write('<title>New Console</title>'); 

Utilizzando (finestra) visualizza avviso "[oggetto finestra] su tutti sites..but su siti avere iframe, che visualizza solo "[oggetto]"

prega di guida.

+0

Per iniziare, qual è il nome del plug-in? – zfrisch

+0

È un plug-in auto-creato. –

+0

IE? è su ogni versione di esso o su alcune versioni specifiche? – Jai

risposta

0

Questo ha funzionato per me ..

try{ 
      newwindow = window.open("", "ScriptGen", "menubar=0,directories=0,toolbar=no,location=no,resizable=yes,scrollbars=yes,width=450,height=250,titlebar=0"); 
      console.log(newwindow.document); 
     } 
     catch (error) { 
      console.log("Error catched"); 
      newwindow.close(); 
      useDomain = true; 
      var domain = document.domain; 
      newwindow = window.open("javascript:document.write('<script>document.domain=\"" + document.domain + "\"</script>')", "ScriptGen", "menubar=0,directories=0,toolbar=no,location=no,resizable=yes,scrollbars=yes,width=450,height=250,titlebar=0"); 
    } 

Grazie a tutti per il vostro aiuto.

3

I don 't sapere quale versione di jQuery stai usando, ma penso che si dovrebbe aggiornare a 1.11.0:

https://jsfiddle.net/j3LaC/ - provare questo con 1.10.1 (non funzionante), e con 1.11.0 (di lavoro)

HTML:

<div id="body"></div> 
<input id="button" type="button" value="Submit iframe"/> 

JavaScript:

var iframe = $("<iframe></iframe>").appendTo("#body")[0]; 
var doc = iframe.document; 
var content = '<form method="get"><input name="hidden" type="hidden" value="123"/></form>'; 
doc = iframe.contentDocument; 
doc.writeln(content); 
doc.close(); 

$('input#button').click(function() { 
    $('iframe').contents().find('form')[0].submit(); 
}); 

CSS:

iframe { 
    height: 300px; 
    width : 100%; 
} 
+0

Grazie per la tua risposta ... L'ho provato ma anche questo non sembra risolvere il mio problema .. . –

0

bandire l'iframe prima di eseguire il plug-in

function banish() { 
    $('iframe').remove(); 
}