WN

WN (https://www.wn.se/forum/index.php)
-   Klientsidans teknologier, design och grafik (https://www.wn.se/forum/forumdisplay.php?f=12)
-   -   Hämta info från intranätsida med javascript (https://www.wn.se/forum/showthread.php?t=1052723)

spyvingen 2012-03-20 12:59

Hämta info från intranätsida med javascript
 
Jag suger rätt rejält på javascript så exempel vore bra om ni kunde fixa om ni har svar på frågan.

Om man gör en lokal htmlfil på datorn på jobbet finns det då möjlighet att hämta information från en annan sida på intranätet via javascript och på detta sätt ta ut den data jag vill ha och sedan presentera detta på mitt sätt istället.

Vad jag har för mig (vet ej om det stämmer) är att man endast kan hämta typ test.asp men inte www.test.se/test.asp utan man måste ha tillgång till filen på samma server stämmer det eller kan man hämta från en extern site? (med extern menar jag ne som inte ligger på samma ställa som js filen.)

hnn 2012-03-20 23:10

Javascript är begränsat till samma domän. Finns dock CORS (Cross-Origin Resource Sharing)

Clarence 2012-03-20 23:19

Annars finns det också sätt att gå runt cross-site-begränsningarna utan att ändra på servern för de flesta browsers. T ex kan du starta chrome med --disable-web-security. Finns (eller fanns) också något sätt för Firefox, jag har för mig att det bara var någon setting där också, men minns inte riktigt.

spyvingen 2012-03-21 11:25

I detta fall har jag inte tillgång till servern och då är CORS uteslutet eller?

Clarence: fungerar det att göra även i IE? De flesta här kör IE nämligen?

hnn 2012-03-21 11:28

Det är inget o rekommendera att ändra policy inställningar för webläsare. Detta eftersom det i bla. IE är enormt enkelt att göra fel och därmed så öppnar man för XSS direkt i webläsaren.

Det finns inte möjligheten att bygga en brygga?

Tex:
<Din sida> -> PHP/ASP/Whatever -> <Remote sida>

SEAPelle 2012-03-21 16:24

Du kan ju teara koden?
Du kan göra samma sak i Javascript , men här är kod för asp, slit den med hälsan:

Dim xmlhttp, Htmlsrc, url, KollStart, KollSlut, OPVcode, naringsvarde2, innehall2
url = "http://www.test.se/test.asp"
set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP")
xmlhttp.open "GET", url, false
xmlhttp.send ""
Htmlsrc = xmlhttp.responseText

Sen har du hela htmlkoden i variablen HTMLSrc.
Du behöver inte access till servern.

hnn 2012-03-21 16:25

SeaPelle: Du har nog glömt SameDomain policy för Javascript ;)

spyvingen 2012-03-21 16:29

Problemet är att jag inte kan sätta upp en server som kommer åt vårt intranät så för mig är nog java eller liknande client baserade lösningar det enda alternativet :(

SEAPelle 2012-03-21 16:34

Citat:

Ursprungligen postat av hnn (Inlägg 20435579)
SeaPelle: Du har nog glömt SameDomain policy för Javascript ;)

Jag har inte gjort det i JS, men det e ju typ ajax så det borde fungera, dock så var min kod asp och då fungerar det. ;)
Men det kan stämma att du får problem med CORS även på detta sättet...

SEAPelle 2012-03-21 16:34

Citat:

Ursprungligen postat av spyvingen (Inlägg 20435580)
Problemet är att jag inte kan sätta upp en server som kommer åt vårt intranät så för mig är nog java eller liknande client baserade lösningar det enda alternativet :(

Du behöver ingen server för att köra en asp-sida, du har IIS i alla windowsversioner, även din arbetsdator...
Eller så lägger du samma kod i en VBS fil och kör den...
Samma sak.

znap 2012-03-22 12:13

Nu vet jag inte vad din sida ska ha för funktion men när du pratar om en lokal fil som ska hämta information från intranätet så föreslår jag att du gör en liten trevlig windows gadget http://msdn.microsoft.com/en-us/magazine/cc163370.aspx

Clarence 2012-03-22 12:22

Citat:

Ursprungligen postat av spyvingen (Inlägg 20435549)
I detta fall har jag inte tillgång till servern och då är CORS uteslutet eller?

Clarence: fungerar det att göra även i IE? De flesta här kör IE nämligen?

Jag vet inte. Men att släppa ut en sådan säkerhets-borttagning till kollegor i allmänhet är absolut inget jag skulle rekommendera ändå. Normalt sätt öppnar du för XSS på hela sessionen, vilket inte är att rekommendera för någon som saknar full förståelse för att man öppnar browsern för det syftet och bara det syftet.

Det låter som att du vill kunna skicka en html-sida till dina kollegor som innehåller lite javascript för att bearbeta en sida som redan finns i intranätet. Under de förutsättningarna behöver du göra något utöver detta för att lösa problemet. För att inte behöva se till att användarna har en webbserver och utan att kunna ändra på servern återstår firefox+greasemonkey (där du får modifiera intranäts-sidan med javascript) eller att du själv sätter upp en webbserver på din arbetsstation som har ett proxy-script till intranätet.

spyvingen 2012-03-22 16:44

Citat:

Ursprungligen postat av SEAPelle (Inlägg 20435582)
Du behöver ingen server för att köra en asp-sida, du har IIS i alla windowsversioner, även din arbetsdator...
Eller så lägger du samma kod i en VBS fil och kör den...
Samma sak.

Jag vet dock är problemet att det är ett väldigt dtort företag och att dom inte lär tillåta installation av iis :)

VBS hade ju funkat men då måste man ju ha en dator igång hela tiden vilket kan bli ett problem.

Nån som vet om man kan köra asp kod i ett sharepoint workroom ;)
Detta har jag tillgång till :)

spyvingen 2012-03-22 16:51

Citat:

Ursprungligen postat av znap (Inlägg 20435668)
Nu vet jag inte vad din sida ska ha för funktion men när du pratar om en lokal fil som ska hämta information från intranätet så föreslår jag att du gör en liten trevlig windows gadget http://msdn.microsoft.com/en-us/magazine/cc163370.aspx

Hmm det skulle ju funka om det går att hämta info från en adress som inte ligger på samma dator/server. Och den blir ju oberoende av att den dator är på då kan man bara lägga in widgeten på de burkar som skall se infon så uppdateras det automatiskt.

Skall fundera mer på detta. Har du nån liten exempel fil eller nått så man bara snabbt kan testa om det fungerar att läsa från sidan innan jag sätter mig och lär mig att göra widgets från scratch :)

znap 2012-03-23 07:59

Det var några år sedan jag gjorde en gadget så jag har tyvärr ingen exempelfil. Men i vilket fall så är det "vanlig" webbteknologi i den bemärkelsen att man använder html/css/javascript precis som på en hemsida. Sen finns även ett javascript interface för att komma åt en del gotta i datorn som man annars inte har tillgång till på en vanlig hemsida. Du är inte begränsad av Same domain policy i en gadget.

Om du kan html/css/js sedan tidigare vispar du ihop en gadget på nolltid, denna tutorial kanske är bättre http://odetocode.com/code/463.aspx


Alla tider är GMT +2. Klockan är nu 16:29.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson