Avatar billede funkeychicken Nybegynder
25. maj 2006 - 00:50 Der er 14 kommentarer og
2 løsninger

Include i html/javascript`?

ja som overskriften lyder. findes php funktionen "include" i html eller java således at man kan benytte den samme menu på alle sider ?

på forhånd tak.
Avatar billede mclemens Nybegynder
25. maj 2006 - 01:46 #1
Regner med du mener javascript og ikke Java...
Hvis det er en include der virker som php's så:
Html: Nej , css: Nej , java script: Nej ...

... man kan måske hente menuen ind via. xml dataisland? - ellers kan man bruge et javascript der laver menuen, eller inkludere menuen via. en frame / iframe ... <- Uanset hvilken af de 2/3(ved ikke helt med xml dataisland da jeg ikke har sat mig ind i det) du vælger kan du få problemer med søgemaskiner og accessibility... Jeg anbefaler derfor at du fortsætter med php include og tager den html output overhead som er forbundet med menuen som html på hver side ...
Avatar billede psykochicken Nybegynder
25. maj 2006 - 01:48 #2
ja i html:  <!--#include file="filnavn.html"-->

/psc
Avatar billede psykochicken Nybegynder
25. maj 2006 - 01:50 #3
sikke jeg vrøvler - lyt til mclemens !o)
Avatar billede mclemens Nybegynder
25. maj 2006 - 01:50 #4
av, kan man det ... den må jeg prøve så
- sorry for forkert information så :D
Avatar billede mclemens Nybegynder
25. maj 2006 - 01:50 #5
hov ok ;D
Avatar billede webstuff Nybegynder
25. maj 2006 - 12:16 #6
Det er et SSI scripts. Det kræver at du kan bruge det på din host.
Men hvis du kan skulle der ikke være nogle problemer.
Avatar billede mclemens Nybegynder
25. maj 2006 - 12:35 #7
uddrag fra spørgsmålet: [ findes php funktionen "include" i html eller java ]
- Hvorfor bruge SSI når man bruger php's include i forvejen ;)
... Det spørger skulle bruge var client side include han har server side i forvejen ...
Avatar billede nyp Nybegynder
26. maj 2006 - 15:08 #8
Html: Nej , css: ja , java script: ja :)

Prøv at kikke på denne side, det er faktisk ikke så tosset endda:

http://www.phpied.com/javascript-include/
Avatar billede psykochicken Nybegynder
26. maj 2006 - 16:57 #9
...som mclemens skriver:
Html: nej, css: nej, java script: nej !

ja, man kan godt have sin css liggende i en seperat fil og hente det med ex.
<link rel="stylesheet" type="text/css" href="style.css">,

og ja, man kan også have sit script liggende i en seperat fil og hente det med <script type="text/javascript" src="min.js"> - og ja, man kan også godt få scriptet til at skrive html, MEN

hverken css eller javascript kan hente en selvstændig html/asp/php-fil og includere den på samme måde som med Server Side Include. 

/psc
Avatar billede mclemens Nybegynder
26. maj 2006 - 18:43 #10
[nyp ] - Som psykochicken genopfrisker så er det ikke muligt på "samme" måde som php gør ... læs evt. det sidste afsnit af mit første indlæg - der også nævnt muligheden for at gøre det med javascript (herunder kan nævnes externe script's, script switching , xmlhttprequest lignende) - kan også gøres med frames / iframes i html og sikkert med xml data island ... men, så skal man være forberedt på at vinke farvel til søgemaskiner, som må betegnes, som værende de mest handikappede browsere idag ... desværre ...
Avatar billede nyp Nybegynder
27. maj 2006 - 11:23 #11
Rigtig nok men man kan få php til at simulere en js fil og dermed kan man få noget der ligner en include som artikel beskriver, jeg er godt klar over det ikke er helt præsis det samme, derfor :)
Avatar billede mclemens Nybegynder
27. maj 2006 - 11:47 #12
^ Jeps, jeg gør noget lignende med min css fil. Af hensyn til css fil skifte udløber css filen hver nat kl: 3:00 - så burder man kunne rette filen uden problemer :)
Her er starten: <?php ob_start("ob_gzhandler");header("Content-type: text/css");header("Cache-Control: max-age=".((23-date("H"))*3600+(59-date("i"))*60+60-date("s")+10800));
echo"html{background: ... ?>
Avatar billede nyp Nybegynder
27. maj 2006 - 12:34 #13
De her to filer simulerer en php include i JavaScript

html fil:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1;">
<META HTTP-EQUIV="CONTENT-LANGUAGE" CONTENT="dk">
<title>Include test</title>
</head>
<script type="text/javascript">

function include(script_filename) {
    var html_doc = document.getElementsByTagName('head').item(0);
        if (js_file) html_doc.removeChild(js);
    var js_file = document.createElement('script');
    js_file.setAttribute('language', 'javascript');
    js_file.setAttribute('type', 'text/javascript');
    js_file.setAttribute('src', script_filename);
    if (html_doc.appendChild(js_file)) return js_file;
    return false;
}

</script>
<body>
menu:
<script type="text/javascript">
    include('include.php')
</script>
<div id="menu"></div>
<br />resten af siden:<br />
Noget tekst bla. bla...
</body>
</html>

include php:

<?php
// javascript header
header('Content-type: text/javascript');
// Date in the past
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
// always modified
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
// HTTP/1.1
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);

echo('

function menu(obj,html,navn)
{
  newElement = document.createElement("a");
  newElement.setAttribute("href", html);
  newText = document.createTextNode(navn);
  newElement.appendChild(newText);
  obj.appendChild(newElement);
}

oMenu = document.getElementById("menu");
menu(oMenu,"http://www.eksperten.dk","Eksperten");

');
?>
Avatar billede nyp Nybegynder
12. juni 2006 - 23:33 #14
Sad og rodede lidt med noget Ajax, og det vil nok bedre opfylde dit behov

Eks.:
<html>
<head>
<title>Ajax include</title>

<script type="text/javascript">

/***********************************************
* Ajax Includes script- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

//To include a page, invoke ajaxinclude("afile.htm") in the BODY of page
//Included file MUST be from the same domain as the page displaying it.

var rootdomain="http://"+window.location.hostname

function ajaxinclude(url) {
var page_request = false
if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
}
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
page_request.open('GET', url, false) //get page synchronously
page_request.send(null)
writecontent(page_request)
}

function writecontent(page_request){
if (window.location.href.indexOf("http")==-1 || page_request.status==200)
document.write(page_request.responseText)
}

</script>

</head>
<body>
<script type="text/javascript">
    ajaxinclude("menu.htm")
</script>
</body>
</html>

menu.htm:
<a href="http://www.eksperten.dk">Eksperten</a>
Avatar billede mclemens Nybegynder
12. juni 2006 - 23:42 #15
Ajax er ikke bedre end ekstern javascript menu ;)
(check post 1) ... problemet med js er søgemaskiner ...
- men ellers er det bare en ekstern javascript fil...
( http://www.eksperten.dk/spm/711688#rid6279761 )
Avatar billede mclemens Nybegynder
31. juli 2006 - 11:26 #16
. lukketid?
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