du kan godt lave det med ajax, så kan evt lave et array på din php side som inddeler hvad type indhold det er
sådan når du modtager det i javascript, ved du om det er et script, stylesheet eller indhold på siden evt.
et bud, ikke testet. - er dog ikke perfekt, da du burde slette de scripts osv du indsætter når du indlæser en anden side, men bare for du får en ide om hvordan det kan gøres.
ajax.php
- $data = array(
- "success" => true,
- "css" => array(
- "file.css",
- "file2.css"
- ),
- "js" => array(
- "lib_a.js",
- "lib_b.js"
- ),
- "content" => array(
- "box_a" => "det her indhold kommer i box_a",
- "box_b" => "og det her kommer så i box_b"
- )
- );
-
- echo json_encode($data);
something.html
- <!DOCTYPE html>
- <html lang="en">
- <head>
-
- </head>
- <body>
-
- <div id="box_a"></div>
- <div id="box_b"></div>
-
- <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
- <script type="text/javascript">
- //script her
- </script>
-
- </body>
- </html>
script
- function addJS(url){
- $('head').append('<script src="'+url+'" type="text/javascript"' +' ><' + '/script>');
- }
- function addCSS(url){
- $('head').append('<link rel="stylesheet" href="'+ url +'" type="text/css" />');
- }
- function addContent(content, where){
- $('#'+where).html(content);
- }
-
- $(function(){
- $.ajax({
- url: "ajax.php",
- data: {
- //hvad du nu har lyst til at sende med af info.
- },
- dataType: 'json',
- cache: false,
- success: function(result){
- if(result.success){
- $.each(result.css, function(i, elm){
- addCSS(elm);
- });
- $.each(result.js, function(i, elm){
- addJS(elm);
- });
- $.each(result.content, function(key, content){
- addContent(content, key);
- });
- }
- },
- error: function(){
- alert("øv :(");
- }
- });
- });
edit: så lige der var en midre fejl i php koden
Indlæg senest redigeret d. 18.04.2012 15:39 af Bruger #3427