Come posso creare uno script GreaseMonkey per mostrare una pagina diversa nel terzo inferiore?

Se fai un'occhiata a questa pagina , c'è un sacco di spazio bianco nella parte inferiore.

Vorrei usare lo script Greasemonkey-like su quella pagina, che utilizza un po 'di quello spazio bianco e carica un'altra pagina (usando qualcosa come un iFrame).

  • L'URL che voglio essere caricato in quel tipo di tipo iFrame (nel terzo inferiore) è sempre quello che fa riferimento alla View Amazon Product Page .
  • Quindi, voglio che il codice esamini la pagina e trovi quello punto di riferimento. (Poiché questo è il bit che varia)
  • Voglio che la cosa del tipo iFrame sia nel terzo inferiore. (Può essere il quarto inferiore, il quinto inferiore … non voglio dire che letteralmente ..!)

Sarei molto grato se potessi aiutarmi a brainstormare questo.

Lettura facoltativa

Non è affatto GreaseMonkey, ma si può supporre che sia

Questo è per Greasekit su Fluid.app (che è molto vecchio, ma sono limitato ad usarlo). Probabilmente non c'è neppure bisogno di sapere che è molto simile a Greasekit. Quindi, ai fini di questa domanda, puoi semplicemente finta di farlo.

L'unica differenza è che non devi fare questo aspetto:

 //==UserScript== //@name _Displaying an iframe type thing in the lower third //@include https://dl.dropboxusercontent.com/u/5546881/* //@grant none // ==/UserScript== 

Il mio tentativo di risposta

 var findlink = document.getElementsByTagName('a'); for (var i = 0;i=“View Amazon Product Page” ; i++ ) { link result = findlink.getAttribute('href') } $(document.body).append ( '<iframe src=+ link + >' ); 

  • Poiché è disponibile jQuery, utilizzare i selettori jQuery per get il link di prodotto.
  • Quindi aggiungere l'iFrame, ma dare un ID.
  • Utilizza CSS per posizionarlo e dimensionarlo.

Il codice sarebbe simile a questo, basato sulla struttura della pagina Dropbox collegata:

 var prodLinks = $("td.product_description a:contains('View Amazon Product Page')"); if (prodLinks.length) { var iframeSrc = prodLinks[0].href; $("body").append ('<iframe id="gmIframe" src="' + iframeSrc + '"></iframe>'); $("#gmIframe").css ( { "position": "absolute", "bottom": "1em", "left": "2em", "height": "30%", "width": "94%", "z-index": "17", "background": "#00FF00" } ); } 

Avvertimento:

Ciò funziona solo se alless una delle seguenti condizioni è soddisfatta:

  • L'iframe è lo stesso dominio.
  • Il sito web iframed non vieta la creazione di frammenti d'origine. ( http://www.amazon.co.uk vieta tale framing.)
  • Stai utilizzando un browser che non rispetta la restrizione tra origine. Firefox onora, non so se Fluid fa o no.