• ベストアンサー

include元ファイルでのgetElementByIdについて

SHTMLの中に複数のHTMLをインクルードし、 include先ファイル内にIDを利用して折りたたんで表示/非表示を切り替えるjava scriptを入れてあり、 include元ファイルでは、すべてのinclude先ファイルの折りたたみを非表示にしたい。のですが、 エラーでオブジェクトが無いと出てしまいます。 include元ファイルでは、include先ファイル内のIDが認識出来ない、 読み込みがinclude先ファイルの方が後だから、ということでしょうか? これではだめだとするとほかに何か方法ありますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.1

読み込み順は関係ないです。 サーバがSSIを処理して出来上がったファイルをブラウザに渡し、 Javascriptが実行されるのはその後ですから。 ブラウザのソース表示で(SSI処理後の)内容を確認して通常と同じ手段で問題点を探してみてください。

riku_m
質問者

補足

steel_grayさん 回答ありがとうございます。 返信ボタンがわからなくて、補足から返信しました。 使い方違っていたらごめんなさい。 ブラウザ表示後のソース(includeが挿入された)をコピペして ブラウザ表示すると、初期時に非表示にはならないものの、エラーは出ません。 XP+IISのローカル環境です。

関連するQ&A

  • include先でのinclude元の変数について

    度々お世話になっています。 include先でのinclude元の変数の扱いについて疑問に思ったので質問させて下さい。 include元ファイルtest.php include先ファイルinclude.phpとしてtest.php内の変数をinclude.phpに渡したいと考え以下のコードを書きました。 test.php <?php $test = "いけるかな?"; include "include.php"; ?> include.php <?php echo $test; ?> 結果、$testの値を表示する事が出来なかったのですが、$testの値を表示するためにはどのような記述方法があるのでしょうか? また、このような動作を期待している理由としてはPHP部分とHTMLを分離させたいと考えており、ユーザ定義関数に変数を引数として渡して、出力処理をユーザ定義関数内で行うという事も考えたのですが、include先に値を渡す事が出来れば、非常にわかりやすく分離出来ると考えたからです。 他に、PHP部分とHTML部分をファイル分けするやり方などありましたら教えて頂けますとうれしいです。

    • ベストアンサー
    • PHP
  • htmlファイルのインクルード

    htmlファイルのインクルード あるページを複数の別のhtmlファイルを読み込んで構成しようと思っています。 以下がソースなのですがFirefoxでは samplesample テストテスト と表示されるのですが、Internet Explorerでは テストテスト のみが表示されsample.htmlが読み込まれません。 何がいけないのでしょうか。 よろしくお願いします。 [index.html] <html> <head> <title>テストページ</title> <script type="text/javascript" src="prototype.js"></script> <script type="text/javascript"> function my_include(id, file) { document.open(); document.write('<div id="' + id + '"></div>'); document.close(); var options = {}; options.method = "get"; options.asynchronous = true; new Ajax.Updater(id, file, options); } </script> </head> <body> <div id="headers"></div> <script type="text/javascript">my_include("headers","sample.html");</script> テストテスト </body> </html> [sample.html] <head> <title>sampleページ</title> </head> <body> samplesample </body> </html> [バージョン情報] Firefox 3.6.3 Internet Explorer 8 prototype.js 1.6.1

    • ベストアンサー
    • HTML
  • 【SSI】include file、include virtualが動作しない

    htmlはほぼマスターしているのですが、SSIは超初心者です。 標記の通り、include file、include virtualを試しているのですが、参照先のファイルが表示されません。サーバにはアップロードしておらず、ローカルで確認しているのですが、これでは動作しないのでしょうか。 --index.shtml <html> <head> </head> <body> <!--#include file="0000.html" --> ... <!--#include file="0001.html" --> </body> </html> --0000.html <html> <head> </head> <body> あああ </body> </html> 情けない質問ですが、よろしくお願いします。

    • ベストアンサー
    • HTML
  • PHPが出力したHTMLにinclude文を

    PHP4.3で、HTMLファイルをテンプレート出力する方式の掲示板を使っているのですが、テンプレートのHTMLファイル内に別のPHPスクリプトで出力した表示を貼り付けようと思い、 <?include("hoge.php");?> とinclude文を書き込んだのですが、これが反映されずにソース内に<?include("hoge.php");?>という記述がそのまま出て来てしまいます。 これが出来ない原因は、PHP実行→HTML表示→HTML内のPHP実行という二度のPHP実行が出来ないのか、<?include~を「文字列」として認識してしまっているのかのどちらかだと思うのですが、、 PHPファイルには一切手が加えられない状況なので、テンプレートHTMLに手を加えるだけで別のPHPスクリプトを読みこませたいのですが、何かいい方法は無いでしょうか?

    • ベストアンサー
    • PHP
  • <!--#include を使うと減点されます。

    shtmlの中に、 <!--#include file="○○.shtml"-->を使ってフ ァイルを挿入した場合。 挿入したファイルのソースに自動的に<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">の文字が入ってきます。 これは挿入するshtmlファイルの先頭に必ず付される文字です。 この挿入されたファイルの全ソースを http://www.scurry.co.jp/faq_c32.htmlのサイトで採点すると大きな減点になります。 seo的には良くないのでしょうか? 宜しく、お願いします。

  • コントロールでサブウインドウを開いた時、元のhtmlを再読み込みさせない

    javaスクリプトで ボタンを押すと、サブウインドウが開くように設定しています。 ですが、サブウインドウを開くと、元のhtmlがイチイチ再読み込みされて しまいます(サブウインドウが表示される間に元のhtmlが一旦消え、そのページの トップまで戻って表示される) 他のサイトをみていても、サブウインドウを開いても、 そのような現象にはなりません。心当たりはありませんでしょうか?

  • インクルード元を知りたい

    PHP5.2.4を使用しています。 [a.php] <?php include("b.php"); include("c.php"); $c = new classC(); [b.php] <?php class classB { } [c.php] <?php class classC { public function __construct() { $c = new classB();//←b.phpファイルがどこでインクルードされたか知りたい } } という3つのファイルがあり、a.phpにアクセスするとします。 c.phpファイルのコンストラクタでb.phpファイルにあるclassBを生成していますが、 これはa.phpファイルにおいて先にinclude("b.php");があるので c.phpファイル内でもclassBを認識できると思います。 そこでc.phpファイル内でb.phpファイルがどこでインクルードされたか(この例ではa.phpファイル) 調べる方法なり関数というのはあるのでしょうか?

    • ベストアンサー
    • PHP
  • JavaScriptで外部htmlをインクルード

    至らないところがありますが、どうぞよろしくお願い致します。 目的はhtmlとJavascriptだけで、html内に他のhtmlの内容を表示することです。 Makeshop.jpを使用しているのでPHP、CGI、SSI等は使用できません。   下記リンクを参考にローカル上で外部htmlファイルの読み込みは出来ましたが、   includeの関数を呼び出す所でhttpから始まるパスを指定すると   外部htmlファイルの読み込みは出来ませんでした。   ”静的HTMLで、インクルードを実現するためのJavaScript”   http://d.hatena.ne.jp/kenpoco/20080501/1209636103   現状のパスの指定はこんな感じです。 <div> <script type="text/javascript" > include("http://www.XXX/hoge.htm"); </script> </div>   エラーが発生する部分は、関数の下記の一文です。   insertBeforeHTML(s.split("&gt;").join(">").split("&lt;").join("<"), span);   原因は分かっていません。 上記の原因解決や、また他の方法があれば教えていただきたいです。 読んで頂きありがとうございます。

  • スクリプトのリンク元

    スクリプトを実行したリンク元のチェックで困っております。 SSIやimgタグで呼び出すカウンタを作っているのですが、その際にHTTP_REFERERを使うと、その呼び出しHTMLのURLではなく、その呼び出しHTMLのリンク元が表示されてしまいます。SSI、imgタグで呼び出したHTMLのURLを知ることが出来るでしょうか? つまりは、http://www.***.com/~user/index.shtmlからhttp://www.***.com/~user/chk.phpをSSIで実行したとします。その際にindex.shtmlのリンク元のURLではなく、http://www.***.com/~user/index.shtmlというSSIでスクリプトを実行したURLが知りたいのであります。 リンク元とは、yahooから検索でindex.shtmlに来た場合、http://www.yahoo.co.jp/と表示されるものです。 暇なときに回答くださいm(_ _)m 補足聞きたい方もお願いします。

    • 締切済み
    • PHP
  • PHPファイルをincludeしてHTML表示する

    お世話になります。 PHP含めプログラム初心者の者です。 どうか知恵をお貸しください。 現在制作しているHTMLサイトがあります。レイアウトはCSSです。 そのうちのひとつのコンテンツのブログページをサイト内WordPressで更新できるようにしたいと考えています。本来なら全てのページをWordPress化したほうがいいのでしょうが、新たにまたいろいろ記述する時間がないもので、とりあえずはblog.htmlなページのコンテンツ表示領域にWordPressで作ったindex.phpが表示されたらいいなと考えております。 ネットでいろいろ調べた結果、「phpファイルをincludeする」という方法によって、それをhtmlファイルで表示する方法があるようです。そこで質問なのですが、具体的にどのようにソースを記述すればそれは可能になるのでしょうか。 (1).htaccessに「AddType application/x-httpd-php .html」と記述する。 (2)表示したいHTML部分に「include(dirname(__FILE__).'/index.php');」と記述する。 とありましたがそれだけではできませんでした。具体的にそうしればいいか教えていただけないでしょうか。(htmlの拡張子をshtmlにするとかいう情報もありましたが定かではありません。)PHPに関しては本当に初心者な者で、変な質問をしているかもしれませんがどうかよろしくお願い致します。 ※参考にした情報ソースは下記です。 http://www.yusk.org/memo/php-memo/php_include_001.html ※HTMLソースは下記です。 <body> <div id="header"> ~略~ </div> <div id="contens"> <div id="leftmenu"> ~略~ </div> <div id="rightmenu"> <div id="rightbox-inside"> <div id="rightbox-inside-txt"> <p class="title">BLOG</p> <p class="standard"> include(dirname(__FILE__).'/index.php');(←ここにブログを表示させたい) </p> </div> <div style="clear:both;"></div> <div id="rightbox-buttom"> </div> </div> </div> </div> <div id="footer"> ~略~ </div>

    • ベストアンサー
    • PHP

専門家に質問してみよう