Avatar billede para7 Nybegynder
25. august 2006 - 17:00 Der er 17 kommentarer og
1 løsning

Hvordan styler man en inkluderet .js

Jeg har en side, som jeg gerne vil hente noget tekst ind i fra et andet domæne. Men hvordan sætter man styles på. Har forsøgt som her:

<!--page.htm start-->

<html>
<head>
<title></title>
</head>
<body>

<script language="JavaScript" type="text/javascript" src="include.js"></script>

</body>
</html>

<!--page.htm slut-->


<!--include.js start-->
       
body {background-color: gray; color: blue}

document.write('Her skulle gerne komme en blå tekst på en grå baggrund i page.htm.');

<!--include.js end-->
Avatar billede madeindk Nybegynder
25. august 2006 - 17:11 #1
Hvad er grunden til du vil putte din style i .js fil og ikke .css fil?
Avatar billede mclemens Nybegynder
25. august 2006 - 23:21 #2
include.js:

document.write('<span style="background:gray;color:blue;">Her kom en blå tekst på en grå baggrund i page.htm.</span>');



eller:

txts='"background:gray;color:blue;"'

document.write('<span style='+txts+'>Her skulle gerne komme en blå tekst på en grå baggrund i page.htm.</span><br>');

document.write('<span style='+txts+'>Her skulle gerne komme en blå tekst på en grå baggrund i page.htm.</span>');
Avatar billede mclemens Nybegynder
25. august 2006 - 23:25 #3
Hvis du ville ændre body baggrunden kan du gøre sådan her:

bodys={backgroundColor:'gray',color:'blue'};

window.onload=function(){
  for(i in bodys)document.body.style[i]=bodys[i];
}

og evt. din document.write bagefter ... men husk at crosssite
javascripting er deaktiveret - så scriptet skal lægge på samme domæne.
Avatar billede para7 Nybegynder
26. august 2006 - 11:57 #4
Hej mclemens
Det ser da lovende ud. Men det er et krav at det skal kunne køre tværs domæner og servere. Hvad gør jeg, hvis jeg skal have det her styling til at ligge på mit domæne i include.js plus selvfølgelig udskrivning af tekst, og andre skal hente fra det:

<style type="text/css">
<!--
#LinksBar {position: absolute; z-index: 0; left: -121px; width: 115px; top: 0px; clip: rect(); padding-bottom: 5px;
padding-top: 7px; background-color: #cccccc}
#glider {position: absolute;left: 98px; top: 0px; width: 7px; background-image: url()}
.glideText {font-size: 11px; color: #000000; text-decoration: none; font-family: Verdana, Arial, Helvetica, sans-serif;
font-weight: bold; font-style: italic; letter-spacing: 0px; font-variant: none; border: 0px solid #000000;
height: 17px; padding: 3px; background-image: url()}
.glideText1 {font-size: 15px; color: #000000; text-decoration: none; font-family: Verdana, Arial, Helvetica, sans-serif;
font-weight: bold; border: 0px solid #000000;
height: 20px; margin-left: 4px; padding-top: 5px; background-image: url()}
a.LinksBarLinks
{
color: #000000; text-decoration: none;font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 9px ; font-style: normal ; font-weight: normal
}
a.LinksBarLinks:hover
{
color: black; text-decoration: underline;
}
-->
</style>
Avatar billede mclemens Nybegynder
26. august 2006 - 14:42 #5
Decideret skrivning ind i selve siden på kryds af domæner er som sagt deaktiveret. Det er det fra browsernes side - så hvis det blot er en kasse der skal indsættes - tænk annonce kasse ... så er der to muligheder:

1. Du får folk til at indsætte et link til et script der laver en iframe
hvor man så kan scripte i - så iframen får det indhold man vil have.
(denne metode bruges bl.a. af visse reklame leverandører)

2. Folk indsætter blot en iframe der peger over på din side.
- denne metode er den mest letteste og nok mest enkle at håndtere for folk ...

... du kan ikke skrive en enkelt tekststreng crosssite - folk skal lægge javascript filen ind på deres egen website (ellers er det en frame med evt. width og height som peger over på din side) ... m.h.t. dit stylesheet så bruger du bare den style i din iframe - og laver måske baggrunden på iframe tagget og din iframe side transparent ...
Avatar billede para7 Nybegynder
27. august 2006 - 09:01 #6
Tak mclemens, dine svar er alle point værd, men lige et par spm.

1. Er det ikke korrekt at via iframe kan søgerobotter ikke vandre. Så at støtte et site via linkning dur vel ikke med iframe?

"og laver måske baggrunden på iframe tagget og din iframe side transparent ."
Jeg går ud fra at man ikke kan lave en iframe virkelig transparent som fx et gif billede. Altså du mener hvid baggrund?
Avatar billede para7 Nybegynder
27. august 2006 - 09:02 #7
-Man skal vel matche baggrunden på det site ruden er?
Avatar billede para7 Nybegynder
27. august 2006 - 09:03 #8
En anden mulighed kunne måske være RSS feed?
Avatar billede mclemens Nybegynder
27. august 2006 - 23:49 #9
[ 1. Er det ikke korrekt at via iframe kan søgerobotter ikke vandre. Så at støtte et site via linkning dur vel ikke med iframe? ] Ikke helt klar over hvad du tænker på m.h.t. det ... Hvis det er for at samle links op så man stiger i pagerank må det ikke laves via. javascript da bots ikke kører scripts. Derfor ville et link med et billede være bedre ...

...

[ "og laver måske baggrunden på iframe tagget og din iframe side transparent ."
Jeg går ud fra at man ikke kan lave en iframe virkelig transparent som fx et gif billede. Altså du mener hvid baggrund? ]

Jeg mener:

test.html
---------
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<style type="text/css">
body{background:red;}
div{background:#aaa;color:#888:}
</style>

</head><body>
<iframe src="test2.html" allowtransparency="true" frameborder="0"></iframe>
<div>Her er en p.t. intern iframe - den kunne være ekstern ... </div>
</body></html>



test2.html
----------
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<style type="text/css">
body{color:#00f;}
div{border:2px solid #000;}
</style>

</head><body>
<div>Dette er min iframe side, der ikke ødelægger dit design med en baggrund. ... dog har jeg en anden color på min tekst og lidt andet css også - f.eks. denne div boks der er med 2px sort border...</div>
</body></html>


...

[ -Man skal vel matche baggrunden på det site ruden er? ]
Jah, det er selvfølgelig også en mulighed ... :)

...

[ En anden mulighed kunne måske være RSS feed? ]
Den del ved jeg intet om.




... Undskyld sen respons  :)
Avatar billede para7 Nybegynder
28. august 2006 - 10:37 #10
Tak mclemens
Det med iframe kan ikke gå. Søgerobotter kan ikke finde ud af dem, ved ikke hvad side de er placeret i, da de er sider for sig. Og selvfølgelig kan man ikke lave en iframe transparant på en anden side. Ved ikke hvad allowtransparency="true" gør.
Du og andre siger, man ikke kan lave crosssite javascripting til en vis grad. Men det jeg ønsker er, at vise nogle links på kunders sider. Disse links skal jeg bestemme i en fil, som ligger på mit domæne, så jeg kun eet sted skal opdatere linksene. Skidt med layout, bare jeg slipper for at have det hele liggende hos kunder.
Kan det lade sig gøre?
Avatar billede mclemens Nybegynder
28. august 2006 - 12:20 #11
[ Det med iframe kan ikke gå. Søgerobotter kan ikke finde ud af dem, ved ikke hvad side de er placeret i, da de er sider for sig. ] Ja, det ved jeg godt - jeg troede ikke at det var vigtigt at søgerobotterne skulle kunne finde ud af det ... (eftersom den lå i javascript)

[ Og selvfølgelig kan man ikke lave en iframe transparant på en anden side. ]
Virker mit eksempel ikke? Det transparent iframe virker fint hos mig?

[ Ved ikke hvad allowtransparency="true" gør. ]
Det gør at iframen kan være tranparent - test de to filer i 27/08-2006 23:49:28
... prøv så at fjerne allowtransparency="true" og se hvad ændringen er ...
... (det er fint nok med lokal test på din pc - ekstern test ikke nødvendig ) ...

[ Du og andre siger, man ikke kan lave crosssite javascripting til en vis grad. ] Nu har jeg ikke kigget så meget på xmlhttprequest i javascript - men der kan man jo hente tekststrenge ... men om det virker crosssite har jeg ikke testet... men det er ikke noget søgemaskiner forstår.

[ Disse links skal jeg bestemme i en fil, som ligger på mit domæne, så jeg kun eet sted skal opdatere linksene. Skidt med layout, bare jeg slipper for at have det hele liggende hos kunder.
Kan det lade sig gøre? ] Ja, måske med det xml - men du snakker om hensynet til søgemaskiner, og siger at du derfor ikke kan bruge iframen ... ligeså snart vi indvolverer javascript henvisning eller xmlrequest så står søgemaskinerne af med indekseringen af det inkluderede indhold (det samme gælder ved xml dataisland o.s.v.) ... Derfor, hvis det skal virke med søgemaskiner er det ikke godt nok med xmlhttprequest - selvom det ville virke i browseren måske (ved ikke om den melder at det er crosssite-scripting) ? ... Så ville søgestationerne ikke kunne forstå det...


... Løsningen må derfor være, hvis søgemaskinerne skal være med, at droppe alt javascript samt frames og lave det serverside med ekstern fil indhentning (php eller asp serverside request af ekstern fil ... kender include"filnavn.php"; i php men den virker ikke eksternt - har ikke sat mig ind i ekstern serverside request) ... kast i dette tilfælde selv et svar og prøv php og asp kategorien ...
Avatar billede mclemens Nybegynder
28. august 2006 - 12:24 #12
(((ikke helt ens men med en lignende problem stilling http://www.eksperten.dk/spm/705467 , http://www.eksperten.dk/spm/711688 )))
Avatar billede mclemens Nybegynder
28. august 2006 - 13:01 #13
Søgning på: serverside cross site include
Resulterede bl.a. i dette link: http://www.boutell.com/newfaq/creating/include.html

Php kan åbenbart godt include på tværs med include kommandoen...
Det troede jeg ikke - men ok jeg havde jo heller ikke prøvet :D
[ <?php include("http://www.othersite.com/filename.html"); ?> ]
Avatar billede para7 Nybegynder
29. august 2006 - 08:41 #14
(Damn.. Så smuttede det igen. Tit når jeg trykker Send her mister jeg teksten.)
Jeg tror jeg vil satse på det med PHP include, da mclemens nu har vist at det er let at gøre. Og jeg vil satse mere på noget PHP, da det også har egne komponenter.
Gad forresten vide om man kan køre en ASP fil og en PHP fil på samme domæne på een gang.
mclemens send lige et pint-svar for al den research og hjælp.
Avatar billede mclemens Nybegynder
29. august 2006 - 08:47 #15
Ok, her er lige et lille svar så :)
Avatar billede mclemens Nybegynder
29. august 2006 - 10:13 #16
p.s.: [Gad forresten vide om man kan køre en ASP fil og en PHP fil på samme domæne på een gang.] Ved ikke noget om den del..
Avatar billede para7 Nybegynder
29. august 2006 - 12:16 #17
Takker :)
Avatar billede mclemens Nybegynder
29. august 2006 - 12:17 #18
Velbekom, og tak for point :)
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