Se y vuoi interagire con la pagina JavaScript, dovrai inserire uno script in una pagina. (A meno che non si desidera utilizzare uno dei hack proposti in questa pagina, naturalmente.) Ho cucinato una funzione di fare proprio questo per i miei propri script, mi post qui nel caso qualcuno vuole usarlo.
/*
@description This function will insert the given code as a <script> or <style> block into a page.
@param The code to insert; supported types are: JavaScript Function, String (JavaScript), String (CSS).
@param2 Optional: The type of code that is inserted. If omitted, "js" is assumed. Possible values are 'js' or 'css'.
@return The HTML element that was inserted, or FALSE on failure
*/
function insert(z,t){
var j,f,x,c,i,n,d
d=document
c=d.createElement
i=d.head.appendChild
a=d.createTextNode
if(typeof z==='function') j=!0,f=!0;
if((t=='js'||!t)&&!f){j=!0,f=!1}
if(t=='css'&&!j){x=c('style');x.setAttribute('type','text/css')}
if(j){x=c('script');x.setAttribute('type','text/javascript')}
if(f) n=a('('+z+')()');else n=a(z)
x.appendChild(n)
if(x){return i(x)}else{return !1}
}
Alcuni esempi per chiarire:
//Inserting a JavaScript function
var func=function(){
stopAds();
startFileDownload();
}
insert(func);
//Inserting JavaScript as a string
var strJS="prompt(\"Copy:\",someVariableAtThePage);";
insert(strJS);
//Or with an OPTIONAL 2nd parameter:
insert(strJS,'js');
//Inserting CSS
var strCSS=".ad{display:none !important} #downloadButton{display:block}";
insert(strCSS,'css');//Specifying 2nd parameter as "css" is required.
Oh, e se la variabile è globale per la pagina che dovrebbe essere in grado di leggere con il vostro javascript –