Sumale.nin
unregistriert
iFrame, object, Ajax oder include?
Hallo zusammen,
habe wie des öfteren eine weitere Frage
Und zwar geht es um folgendes Thema wie in der Übrschrift beschrieben.
Ich fange mal an, was ich derzeit gemacht habe.
[size=18]iFrame[/size]
Hier klicken für weitere Informationen
[size=18]Object[/size]
Hier klicken für weitere Informationen
Das war der Schlüssel. Aber es wurde ja nicht in allen Browsern richtig angezeigt. Bis ich das raushatte, sah das ganze so aus:
Und
Allerdings ist hier nun das Problem, dass ich eine feste Größe angeben muss. Und das passt mir wieder absolut ncht. Wenn ich jetzt wüsste, wie ich das Javascript für das iFrame nutzen kann damit auch das Object Dynamisch wird, wäre es ja perfekt. Aber ich weis es leider nicht.
Nun musste ich weiter schauen was ich machen kann, aber nichts gescheites gefunden, bis ich auf folgendes gestoßen bin:
[size=18]Ajax[/size]
Hier klicken für weitere Informationen
[size=18]php include[/size]
Hier klicken für weitere Informationen
habe wie des öfteren eine weitere Frage

Und zwar geht es um folgendes Thema wie in der Übrschrift beschrieben.
Ich fange mal an, was ich derzeit gemacht habe.
[size=18]iFrame[/size]
Ich habe auf meiner Seite ein iFrame eingesetzt. Lediglich dient es dazu um News eines Scripts einzublenden. Das klappt auch, allein schon das ich es Danamisch erstellt habe für jeden Browser. Ich würde es auch immernoch nutzen, doch es gibt da ein Problem mit XHTML 1.0 Strict. Und zwar ist das iFrame für XHTML 1.0 Strict garnicht geeignet und auch nicht zugelassen.
Jetzt musste ich mich ja entscheiden und Lösungen finden. Ich habe auch sehr schnell ein Lösung gefunden. Und zwar habe ich folgendes.
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<script type="text/javascript">
<![CDATA[
function iFrame() {
if(navigator.appName=='Netscape')
{
h = 30 + document.getElementById('newsframe').contentDocument.height;
}
else {
h = 10 + document.frames('newsframe').document.body.scrollHeight;
}
document.getElementById('newsframe').style.height = h + 'px';
self.scrollTo(0,0);
}
]]>
</script>
<iframe id="newsframe"
onLoad="iFrame()"
height="500"
width="100%"
border="0"
scrolling="no"
frameborder="no"
src="news/index.php"></iframe>
|
Jetzt musste ich mich ja entscheiden und Lösungen finden. Ich habe auch sehr schnell ein Lösung gefunden. Und zwar habe ich folgendes.
[size=18]Object[/size]
|
|
Quellcode |
1 2 3 |
<object data="Test.html" type="text/html"> <p>Fallback</p> </object> |
Das war der Schlüssel. Aber es wurde ja nicht in allen Browsern richtig angezeigt. Bis ich das raushatte, sah das ganze so aus:
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 |
<!--[if IE]> <object classid="clsid:25336920-03F9-11CF-8FD0-00AA00686F13" data="Test.html"> <p>Fallback</p> </object> <![endif]--> <!--[if !IE]> <--> <object data="Test.html" type="text/html"> <p>Fallback</p> </object> <!--><![endif]--> |
Und
|
|
Quellcode |
1 |
<body style="border:0;overflow:visible"> |
Allerdings ist hier nun das Problem, dass ich eine feste Größe angeben muss. Und das passt mir wieder absolut ncht. Wenn ich jetzt wüsste, wie ich das Javascript für das iFrame nutzen kann damit auch das Object Dynamisch wird, wäre es ja perfekt. Aber ich weis es leider nicht.
Nun musste ich weiter schauen was ich machen kann, aber nichts gescheites gefunden, bis ich auf folgendes gestoßen bin:
[size=18]Ajax[/size]
Das man mit Ajax auch Inhalte auf der eigenen Seite ausgeben kann, wusste ich nicht. Der Code sah dann so aus:
fetch.php
Aber etwas angezeigt wurde mir nicht, also viel das auch wieder weg.
Im Grunde bleibt mir nur eins!
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<script type="text/Javascript">
<!--
function geturl(elem, url) {
var req;
try {
req = window.XMLHttpRequest?new XMLHttpRequest():
new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
//Kein AJAX Support
}
req.onreadystatechange = function() {
if ((req.readyState == 4) && (req.status == 200)) {
document.getElementById(elem).innerHTML = req.responseText;
}
};
req.open('POST', 'fetch.php');
req.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded' );
req.send('url='+url);
}
//-->
</script>
</head>
<body onload="geturl('hier','news/index.php')">
<div id="hier" style="width:230px;height:230px;overflow:auto"></div>
|
fetch.php
|
|
PHP-Quelltext |
1 2 3 |
<?php
echo file_get_contents($_POST['url']);
?>
|
Aber etwas angezeigt wurde mir nicht, also viel das auch wieder weg.
Im Grunde bleibt mir nur eins!
[size=18]php include[/size]
Aber das kann ich nicht verwenden, da ich dann Fehlermeldungen bekomme. Klar, weil ich eine index.php eines anderen Scripts benutze für das Include.
Gibt es keine Funktion von PHP der auch nur wie ein iFrame den Inhalt ausgibt?
Gibt es keine Funktion von PHP der auch nur wie ein iFrame den Inhalt ausgibt?
vllt mittels $_GET falls ich den sinn dahinter richtig verstehe
bsp: www.adresse.de/index.php?page=blubb
bsp: www.adresse.de/index.php?page=blubb
|
|
PHP-Quelltext |
1 2 3 4 5 |
switch($_GET['page'])
{
case "blubb":
include ('deinephpdatei.php');
}
|
Sumale.nin
unregistriert
Das geht nicht.
Die index.php von 4images sieht so aus:
Hier klicken für weitere Informationen
Und folgendes ruft eine html Datei auf:
Wenn ich irgendwas an php in der html Datei verwende, dann bekomme ich Fehlermeldungen.
Und warum ich hier frage:
Die index.php von 4images sieht so aus:
|
|
PHP-Quelltext |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 |
<?php
/**************************************************************************
* *
* 4images - A Web Based Image Gallery Management System *
* ---------------------------------------------------------------- *
* *
* File: index.php *
* Copyright: (C) 2002-2009 Jan Sorgalla *
* Email: jan@4homepages.de *
* Web: http://www.4homepages.de *
* Scriptversion: 1.7.7 *
* *
* Never released without support from: Nicky (http://www.nicky.net) *
* *
**************************************************************************
* *
* Dieses Script ist KEINE Freeware. Bitte lesen Sie die Lizenz- *
* bedingungen (Lizenz.txt) für weitere Informationen. *
* --------------------------------------------------------------- *
* This script is NOT freeware! Please read the Copyright Notice *
* (Licence.txt) for further information. *
* *
*************************************************************************/
$templates_used = 'home,category_bit,whos_online,thumbnail_bit';
$main_template = 'home';
define('GET_CACHES', 1);
define('ROOT_PATH', './');
define('GET_USER_ONLINE', 1);
include(ROOT_PATH.'global.php');
require(ROOT_PATH.'includes/sessions.php');
$user_access = get_permission();
if (isset($HTTP_GET_VARS['template']) || isset($HTTP_POST_VARS['template'])) {
$template = (isset($HTTP_GET_VARS['template'])) ? get_basefile(stripslashes($HTTP_GET_VARS['template'])) : get_basefile(stripslashes($HTTP_POST_VARS['template']));
if (!file_exists(TEMPLATE_PATH."/".$template.".".$site_template->template_extension)) {
$template = "";
}
else {
$main_template = $template;
}
}
else {
$template = "";
}
include(ROOT_PATH.'includes/page_header.php');
if (!empty($template)) {
$clickstream = "<a href=\"".$site_sess->url(ROOT_PATH."index.php")."\">".$lang['home']."</a>".$config['category_separator'].str_replace("_", " ", ucfirst($template));
$site_template->register_vars("clickstream", $clickstream);
$site_template->print_template($site_template->parse_template($main_template));
include(ROOT_PATH.'includes/page_footer.php');
}
$cache_id = create_cache_id(
'page.index',
array(
$user_info[$user_table_fields['user_id']],
isset($user_info['lightbox_image_ids']) ? substr(md5($user_info['lightbox_image_ids']), 0, 8) : 0,
$config['template_dir'],
$config['language_dir']
)
);
if (!$cache_page_index || !$content = get_cache_file($cache_id)) {
// Always append session id if cache is enabled
if ($cache_page_index) {
$old_session_mode = $site_sess->mode;
$site_sess->mode = 'get';
}
ob_start();
//-----------------------------------------------------
//--- Show Categories ---------------------------------
//-----------------------------------------------------
$categories = get_categories(0);
if (!$categories) {
$categories = $lang['no_categories'];
}
$site_template->register_vars("categories", $categories);
unset($categories);
//-----------------------------------------------------
//--- Show New Images ---------------------------------
//-----------------------------------------------------
$site_template->register_vars(array(
"has_rss" => true,
"rss_title" => "RSS Feed: ".format_text($config['site_name'], 2)." (".str_replace(':', '', $lang['new_images']).")",
"rss_url" => $script_url."/rss.php?action=images"
));
$imgtable_width = ceil(intval($config['image_table_width']) / $config['image_cells']);
if ((substr($config['image_table_width'], -1)) == "%") {
$imgtable_width .= "%";
}
$additional_sql = "";
if (!empty($additional_image_fields)) {
foreach ($additional_image_fields as $key => $val) {
$additional_sql .= ", i.".$key;
}
}
$num_new_images = $config['image_cells'];
$sql = "SELECT i.image_id, i.cat_id, i.user_id, i.image_name, i.image_description, i.image_keywords, i.image_date, i.image_active, i.image_media_file, i.image_thumb_file, i.image_download_url, i.image_allow_comments, i.image_comments, i.image_downloads, i.image_votes, i.image_rating, i.image_hits".$additional_sql.", c.cat_name".get_user_table_field(", u.", "user_name")."
FROM (".IMAGES_TABLE." i, ".CATEGORIES_TABLE." c)
LEFT JOIN ".USERS_TABLE." u ON (".get_user_table_field("u.", "user_id")." = i.user_id)
WHERE i.image_active = 1 AND c.cat_id = i.cat_id AND i.cat_id NOT IN (".get_auth_cat_sql("auth_viewcat", "NOTIN").")
ORDER BY i.image_date DESC
LIMIT $num_new_images";
$result = $site_db->query($sql);
$num_rows = $site_db->get_numrows($result);
if (!$num_rows) {
$new_images = "<table width=\"".$config['image_table_width']."\" border=\"0\" cellpadding=\"".$config['image_table_cellpadding']."\" cellspacing=\"".$config['image_table_cellspacing']."\"><tr class=\"imagerow1\"><td>";
$new_images .= $lang['no_new_images'];
$new_images .= "</td></tr></table>";
}
else {
$new_images = "<table width=\"".$config['image_table_width']."\" border=\"0\" cellpadding=\"".$config['image_table_cellpadding']."\" cellspacing=\"".$config['image_table_cellspacing']."\">";
$count = 0;
$bgcounter = 0;
while ($image_row = $site_db->fetch_array($result)){
if ($count == 0) {
$row_bg_number = ($bgcounter++ % 2 == 0) ? 1 : 2;
$new_images .= "<tr class=\"imagerow".$row_bg_number."\">\n";
}
$new_images .= "<td width=\"".$imgtable_width."\" valign=\"top\">\n";
show_image($image_row);
$new_images .= $site_template->parse_template("thumbnail_bit");
$new_images .= "\n</td>\n";
$count++;
if ($count == $config['image_cells']) {
$new_images .= "</tr>\n";
$count = 0;
}
} // end while
if ($count > 0) {
$leftover = ($config['image_cells'] - $count);
if ($leftover >= 1) {
for ($f = 0; $f < $leftover; $f++) {
$new_images .= "<td width=\"".$imgtable_width."\">\n \n</td>\n";
}
$new_images .= "</tr>\n";
}
}
$new_images .= "</table>\n";
} // end else
$site_template->register_vars("new_images", $new_images);
unset($new_images);
//-----------------------------------------------------
//--- Print Out ---------------------------------------
//-----------------------------------------------------
$site_template->register_vars(array(
"msg" => $msg,
"clickstream" => $clickstream
));
$site_template->print_template($site_template->parse_template($main_template));
$content = ob_get_contents();
ob_end_clean();
if ($cache_page_index) {
// Reset session mode
$site_sess->mode = $old_session_mode;
save_cache_file($cache_id, $content);
}
} // end if get_cache_file()
echo $content;
include(ROOT_PATH.'includes/page_footer.php');
?>
|
Und folgendes ruft eine html Datei auf:
|
|
PHP-Quelltext |
1 |
$main_template = 'home';
|
Wenn ich irgendwas an php in der html Datei verwende, dann bekomme ich Fehlermeldungen.
Und warum ich hier frage:
- Weil es ja nur um Code generell geht
- Weil man bei 4images sehr schlecht support bekommt
Sumale.nin
unregistriert
Ja das habe ich ebenfalls.
Das wäre ja eine Lösung gewesen.
Allerdings nutze ich ja schon Javascript für die Dynamic des iFRames
Wenn ich das iFrame dann extre nochmal mit write ausgebe funktioniert die Dynamic nicht mehr.
Ich habe noch kein fertigen Code gefunden der beides vereint!
Das wäre ja eine Lösung gewesen.
Allerdings nutze ich ja schon Javascript für die Dynamic des iFRames
|
|
PHP-Quelltext |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<script type="text/javascript">
<![CDATA[
function iFrame() {
if(navigator.appName=='Netscape')
{
h = 30 + document.getElementById('newsframe').contentDocument.height;
}
else {
h = 10 + document.frames('newsframe').document.body.scrollHeight;
}
document.getElementById('newsframe').style.height = h + 'px';
self.scrollTo(0,0);
}
]]>
</script>
|
Wenn ich das iFrame dann extre nochmal mit write ausgebe funktioniert die Dynamic nicht mehr.
Ich habe noch kein fertigen Code gefunden der beides vereint!
Ich meine das auch so ka ob das geht einfach ma so gerade.
LG Zonk
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<script type="text/javascript">
<![CDATA[
function iFrame() {
if(navigator.appName=='Netscape')
{
h = 30 + document.getElementById('newsframe').contentDocument.height;
}
else {
h = 10 + document.frames('newsframe').document.body.scrollHeight;
}
document.getElementById('newsframe').style.height = h + 'px';
self.scrollTo(0,0);
}
document.write('<iframe id="newsframe" onload="iFrame()" height="500" width="100%" border="0" scrolling="no" frameborder="no" src="news/index.php"><\/iframe>');
]]>
</script>
|
LG Zonk
Ähnliche Themen
-
Aktuelle Version [1.6.5] »-
1.6.5 BB-Code PDF in Iframe in Forum anzeigen
(20. Januar 2010, 19:33)
-
Web | Programmierung »-
Laufband ????
(27. November 2008, 21:01)
-
Web | Programmierung »-
include, aber nur Text wird angezeigt
(7. September 2008, 15:02)
-
alte Versionen [1.6.03|1.6.1|1.6.4] »-
Kit und Ajax
(14. Juni 2008, 13:27)


