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ź?

questionAnswers(2)

yourAnswerToTheQuestion