WN

WN (https://www.wn.se/forum/index.php)
-   Klientsidans teknologier, design och grafik (https://www.wn.se/forum/forumdisplay.php?f=12)
-   -   Inkludera fil från annan server med Javascript (https://www.wn.se/forum/showthread.php?t=20256)

grazzy 2007-03-27 23:24

Observera att det föresten inte jag är som har skrivit den ursprungliga koden för att ladda js-content remote, den kommer från http://www.dhtmlcentral.com/tutorials/tuto...rials.asp?id=11
Edit: död länk, typiskt.

Pettolajnen 2007-03-27 23:30

Såhär ser mitt inkludera.php-fil ut nu:
Citat:

<? session_start();
include $_SERVER['DOCUMENT_ROOT']."/includes/data.php";
include $_SERVER['DOCUMENT_ROOT']."/includes/functions.php";
?>
<script language="javascript">
document.write('*ALLA ANNONSER*');
</script>

Där det står *ALLA ANNONSER* så är det alltså alla annonser med html som är där egentligen.

Hur anropar jag detta från ett annat javascript nu då?

allstars 2007-03-29 17:25

Så här gör jag i ASP och tillvägagångssättet skall väl fungera i php imo.

sida.php en sida som skall hämta information från en annan site och lägga i en div
get_externaldata.php - en sida som hämtar extern data
otherpage.php - den sida vars information skall inhämtas.

1. sida.php - här har man ajax.js-scriptet som hämtar data internt. Här anropas get_externaldata.php
Kod:

<script type="text/javascript">
var http = false;
if(navigator.appName == "Microsoft Internet Explorer") {
 http = new ActiveXObject("Microsoft.XMLHTTP");
} else {
 http = new XMLHttpRequest();
}
 http.open("GET", "get_externaldata.php", true);
 http.onreadystatechange=function()
 {
  if(http.readyState == 4)
{
  document.getElementById('foo').innerHTML = http.responseText;
  }
 }
 http.send(null);
</script>

2. get_externaldata.php hämtar datan med hjälp av XMLHTTP (exempel i asp)
Kod:

Set xml = Server.CreateObject("MSXML2.ServerXMLHTTP")
xml.Open "GET", "http://www.othersite.se?otherpage.php"&"?username=struser&password=strpassword", False
xml.setRequestHeader "Content-Type", "text/html; charset=iso-8859-1"
xml.setRequestHeader "Connection", "Keep-Alive"
xml.Send
response.write xml.responseText
Set xml = Nothing

querystringen behövs inte, men kan man själv styra över otherpage.asp och vill begränsa åtkomsten av informationen kan detta vara bra.

Edit: här är ett exempel i php: http://developer.yahoo.com/php/sampl...estCURLGET.txt

melin 2007-03-29 17:49

annonser.php
-----------------------------
<?
echo ("document.write('lite HTML här...');");
?>
-----------------------------

kundens egna hemsida
-----------------------------
<script type="text/javascript" src="http://www.dindomän.se/annonser.php"></script>
-----------------------------


Jag använder det systemet för att erbjuda folk gästböcker på deras egna hemsidor utan att dom ska behöva skaffa ASP/PHP hotell med Access/mySQL etc, funkar fin fint

Magnus_A 2007-03-29 18:38

Gör som Adsense, hämta via en iframe. Lätt att implementera och ser hyggligt ut i de flesta läsare.
<iframe src="http://pettolajnens-båtsida.se/handlarannonser.php?handlarnr=37" (höjd o bredd mmm)></iframe>
är vad kunden får att klistra in på sidan.

melin 2007-03-29 19:08

Citat:

Originally posted by elprisguiden@Mar 29 2007, 17:38
Gör som Adsense, hämta via en iframe. Lätt att implementera och ser hyggligt ut i de flesta läsare.
iframe src=http://pettolajnens-båtsida.se/handlarannonser.php?handlarnr=37 (höjd o bredd mmm)/iframe
är vad kunden får att klistra in på sidan.


förutom att en iframe inte kan anpassas i höjd beroende på innehåll.. och är en "ful" lösning =)

Pettolajnen 2007-03-29 20:58

Tråden är löst: http://www.phpsidan.nu/forum_thread.php?id=7021&page=2

melin 2007-03-29 21:18

ser att det blev som jag föreslog :D

Davve 2008-03-01 11:54

jag testar detta nu att includerar en sida från en anna server genom den koden:

Citat:


<script type="text/javascript">
var http = false;
if(navigator.appName == "Microsoft Internet Explorer") {
http = new ActiveXObject("Microsoft.XMLHTTP");
} else {
http = new XMLHttpRequest();
}
http.open("GET", "get_externaldata.php", true);
http.onreadystatechange=function()
{
if(http.readyState == 4)
{
document.getElementById('foo').innerHTML = http.responseText;
}
}
http.send(null);
</script>

<%
Set xml = Server.CreateObject("MSXML2.ServerXMLHTTP")
xml.Open "GET", "http://www.othersite.se?otherpage.php"&"?username=struser &password=strpassword", False
xml.setRequestHeader "Content-Type", "text/html; charset=iso-8859-1"
xml.setRequestHeader "Connection", "Keep-Alive"
xml.Send
response.write xml.responseText
Set xml = Nothing
%>

Men får ett problem då svenska tecken inte kommer med. har samma charset=iso-8859-1 överallt, vad är det som är fel då?


Alla tider är GMT +2. Klockan är nu 22:20.

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