Avatar billede danielhep Nybegynder
05. marts 2013 - 08:37 Der er 25 kommentarer

Hente JS og mere fra URL

Hey..

Lad os sige at jeg har en URL:  http://www.example.com?js=true&commercial

Denne URL hvis udført igennem en browser giver et script tag som har document.write() i sig.


Jeg har et HTML dokument med et div tag hvor den kode skal læses ind.  Det skal være med rå javascript og ikke JQuery.


<div id="box"> Her skal kode fra URL´en indlæses og udskrives </div>



Kan nogle hjælpe ?
Avatar billede hubertus2013 Nybegynder
05. marts 2013 - 08:42 #1
urlmodel.url()
Returns the relative URL where the model's resource would be located on the server. If your models are located somewhere else, override this method with the correct logic. Generates URLs of the form: "[collection.url]/[id]" by default, but you may override by specifying an explicit urlRoot if the model's collection shouldn't be taken into account.

Delegates to Collection#url to generate the URL, so make sure that you have it defined, or a urlRoot property, if all models of this class share a common root URL. A model with an id of 101, stored in a Backbone.Collection with a url of "/documents/7/notes", would have this URL: "/documents/7/notes/101"

http://backbonejs.org/#Model-url
Avatar billede olebole Juniormester
05. marts 2013 - 14:43 #2
<ole>

Hvad er det præcist, du gerne vil? Hvorfra kommer scriptet - og hvad er det, der skal skrives ind i dit DIV?

/mvh
</bole>
Avatar billede danielhep Nybegynder
05. marts 2013 - 15:32 #3
Hej Ole,


Via en URL kan der komme diverse som:
- <script src="..."></script>
- Rå javascript

Problem stillingen er at hente den eller de koder der kommer fra en URL ned i et <div> tag.

Eks.
Hvor at noget.js gør noget, men selve script tagget kommer externs fra.

<div>
<script src="noget.js"></script>
</div>
Avatar billede olebole Juniormester
05. marts 2013 - 15:42 #4
Jeg forstår stadig ikke, hvad du mener
Avatar billede danielhep Nybegynder
05. marts 2013 - 15:58 #5
fra en url kommer der javascript.

den vil jeg gerne hente og udskrive i mit eget dokument.


eks kommer der fra http://www.example.com?something
document.write("hej");


Den stump JS vil jeg gerne have udskrevet.
Avatar billede danielhep Nybegynder
05. marts 2013 - 16:02 #6
forestil dig følende.

var content = fetchUrlContent("http://www.example.com");

document.getElementById("box").innerHTML = "<script>"+content+"</script>;


<div id="box"></div>


noget i den stil her.
Avatar billede olebole Juniormester
05. marts 2013 - 16:13 #7
Jeg forstår ikke, hvad du mener med: "fra en url kommer der javascript.". Hvad kommer i URL'en?

Forestiller du dig noget i stil med:

http://domain.dk?js=alert("Hep")

- så glem alt om det og find en anden løsning  =)
Avatar billede danielhep Nybegynder
05. marts 2013 - 16:53 #8
nej slet ikke :)



http://domain.dk?bla

Fra denne url hvis den fyres af i en browser, ser du ren tekst som er javascript.  Det vil sige at fra denne url komme der javascript, det skal ned i et dokument og udføres.

altså...

var content = fetchUrlContent("http://www.example.com");

document.getElementById("box").innerHTML = "<script>"+content+"</script>;

<div id="box"></div>
Avatar billede danielhep Nybegynder
05. marts 2013 - 16:58 #9
mere eksempel..


http://www.example.com?reklame=random

Hvis denne blev udført i en browser i adresse linien ville man se følgene:


document.write("<a href='http://www.google.com'>bla bla</a>");



Denne kode vil jeg gerne indhente, så at den kan udføres i et script tag som findes i mit dokument allerde.


Det bliver ikke meget klarere nu, hvis der er ingen som forstår hvad jeg snakker om, giver jeg op.
Avatar billede olebole Juniormester
05. marts 2013 - 17:21 #10
Så er vi to om at give op
Avatar billede danielhep Nybegynder
05. marts 2013 - 17:24 #11
Faktisk har jeg en anden måde at spørge på.


var script=document.createElement('script');
script.type='text/javascript';       
script.src = "http://www.example.com";
document.getElementById("box").innerHTML=script;


Hvorfor virker det her ikke.. Der skulle gerne blive fyret noget Javascript af der kommer fra URL strengen indsat som SRC, men intet sker. 

Nogle indskud?
Avatar billede olebole Juniormester
05. marts 2013 - 17:41 #12
Det kan du ikke, da du ikke kan bruge document.write på den måde. Du kan kun bruge document.write under indlæsning.

På den anden side kan du kun indsætte et JavaScript et sted i koden, som browseren allerede har læst. Derfor vil document.write i scriptet overskrive hele siden
Avatar billede olebole Juniormester
05. marts 2013 - 17:44 #13
- og hvis du endelig skulle indsætte et script, skulle det ske noget à la:

<div id="foo"></div>

<script type="text/javascript">
var script=document.createElement('script');
script.type='text/javascript';       
script.src = "http://www.example.com";
document.getElementById("box").appendChild(script);
</script>
Avatar billede olebole Juniormester
05. marts 2013 - 17:45 #14
Ooops  =)



<div id="box"></div>

<script type="text/javascript">
var script=document.createElement('script');
script.type='text/javascript';       
script.src = "http://www.example.com";
document.getElementById("box").appendChild(script);
</script>
Avatar billede danielhep Nybegynder
05. marts 2013 - 17:49 #15
Jeg har forsøgt mig med:

<div id="box"></div>

<script type="text/javascript">
var script=document.createElement('script');
script.type='text/javascript';     
script.src = "http://www.example.com";
document.getElementById("box").appendChild(script);
</script>

Det sker intet, siden er bare helt blank, som mit hovedet også er nu :-)


Det eneste jeg ved er at, det som SRC peger på er at document.write() script, og rent praktisk virker det bare ikke som noget der kan løses.
Avatar billede danielhep Nybegynder
05. marts 2013 - 17:51 #16
Har tjekket... Den er god nok at Chrome browserens indbygget element inspector viser at der kommet noget ind i #box, men det bliver ikke loadet frem, altså det bliver ikke eksekveret.
Avatar billede danielhep Nybegynder
05. marts 2013 - 17:54 #17
<div id="box">
<script>document.write("bla");</script>
</div>


Dette er hvad der står til sidst, men det bliver ikke udført.
Avatar billede danielhep Nybegynder
05. marts 2013 - 17:55 #18
woops selv :-)


<div id="box">
<script src="http://www.examle.com"></script>
</div>


Dette er hvad der står til sidst, men det bliver ikke udført.
Avatar billede olebole Juniormester
05. marts 2013 - 17:59 #19
Du må uploade et eksempel. Ellers kan vi intet vide om, hvad der sker
Avatar billede danielhep Nybegynder
05. marts 2013 - 18:02 #20
Det kan jeg desværre ikke.

Det som det handler om er at selve den URL indeholder en reklame.

Reklame firmaet har beluttet sig for at give et stykke javascript tilbage via URL request.

Den reklame skal indlæses på hjemmesiden som jeg har snakket om.
Avatar billede danielhep Nybegynder
05. marts 2013 - 18:04 #21
Der findes en masse sider som indlæser reklamer fra URL.  Det som selve URL´en giver er noget document.write() kode, som udskriver selve reklamen.

For at være ærlig kan jeg simpelhen ikke uploade et eksempel, men jeg kan kun forsøge at beskrive det så godt som jeg nu engang kan.

Desværre :-)
Avatar billede danielhep Nybegynder
05. marts 2013 - 18:11 #22
bliver nød til at smutte nu, men hvis du på en eller anden måde kommer på noget, eller ser lyset i mine forsøg på at beskrive problemet, hvilket ikke lyder til at være så nemt, så giv endelig en lyd fra dig.

Ellers så smid gerne et svar, så kigger jeg på point senere i aften :)

Mange tak for hjælpen indtil videre :-)
Avatar billede hubertus2013 Nybegynder
06. marts 2013 - 02:20 #23
Avatar billede hubertus2013 Nybegynder
08. marts 2013 - 06:43 #24
Nå en meget enkel løsning er hvis du dl og bruger opera browser.

Når du har gjort det højre klikker du et eller andet sted på en eller anden side og klikker "source" så får du en hel side med alt dens skrevne kode.
Og hvis der er noget af det du ikke gider at se på den side feks reklame eller en porno video kikker du al koden igennem til du finder den skrevne kode til det program du vil have væk og kopierer navnet feks andersandporn.com og indsætter det i "Blocked content" fjerner alle cookies og renser ud i al historie hvorved det ikke igen viser sig.

Så vil du måske sige jamen jeg vil ikke fjerne noget men kun lære.
Hvor svaret er at det gør du jo også når du kikker det igennem og ser hvordan feks js kode skrives.

Feks denne:

<script type="text/javascript" src="http://www.eksperten.dk/modules/axon/javascript/axon.js"></script>
Avatar billede askalot Mester
08. marts 2013 - 22:30 #25
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester