wstrzyknąć funkcję javascript do iframe
Ten link (zarchiwizowana wersja) opisuje, jak wstrzyknąć kod ze skryptu do ramki iframe:
function injectJS() {
var iFrameHead = window.frames["myiframe"].document.getElementsByTagName("head")[0];
var myscript = document.createElement('script');
myscript.type = 'text/javascript';
myscript.src = 'myscript.js'; // replace this with your SCRIPT
iFrameHead.appendChild(myscript);
}
To dobrze, ale co, jeśli chcę wstawić obiekt funkcji do ramki iframei uruchom go w kontekście iframe? Powiedzmy, że mam:
function foo () {
console.log ("Look at me, executed inside an iframe!", window);
}
i chcę wstawić kod foo do iframe? (funkcja foo może być czymś ładowanym dynamicznie, nie mogę po prostu zawinąć jej w cudzysłów)
Naiwnie próbowałem:
var scriptFooString = "<script>" + foo.toString() + "</script>"
aby uzyskać kod wewnątrz funkcji, ale
Nie wiem jak wstawić go do HEAD iframe (może z jquery?)Nie wiem, czy to właściwy sposóbNie wiem, co się stanie, jeśli funkcja będzie bardziej skomplikowanaNie wiem, co się dzieje z podwójnymi i pojedynczymi cudzysłowamiscriptFooString
Jakaś podpowiedź?