SHTML--よくある質問(プレビュー機能について)

  1. SHTMLのプレビュー機能とはどのようなものですか?
  2. 画像が全く表示されません。スタイルシートが全く適用されていません。
  3. プレビューしたら、私のページではなく、Yahoo! Japanのページが表示されました。なぜですか?
  4. プレビューしたら、文字化けしました。または、真っ白のページが表示されます。
  5. レイアウトが乱れます。ページ中央に指定したはずの広告が、ページの一番下に表示されたりします。
  6. プレビュー機能を利用すると必ずInternet Explorerが起動するようですが、これをFierfoxなど別のブラウザでプレビューできるようにする方法はありますか?

  7. フォームを含むホームページを暗号化し、プレビューを行ったところ、ちゃんと表示されました。しかし、実際にフォームに名前や住所などを入力し、テストしようとして送信ボタンをクリックしたところ、「プレビューでは、実際のフォーム送信はできません。大変お手数ですが、SHTMLの暗号化作業の最終ステップで表示されているソースを、元のHTMLファイルと同じ文字コードで保存して、お客様のサーバに実際にアップすることで、動作確認を行ってください。(以下略)」と表示されました。なぜですか?

  8. プレビュー用に表示されたHTMLファイルをブラウザのメニューから保存した場合に何か問題がありますか?

  9. SHTMLの暗号化の作業の最終ステップに表示されているソースには明らかに存在しないものなのに、プレビューで表示されるページのソースを見てみると、不可解なJavascriptが挿入されています。これは何でしょうか?「function SymError()」や「var SymRealOnLoad;」「var SymRealOnUnload;」などの文字列が見えます。

  10. SHTMLがインストールされている端末にはIE8が入っています。プレビューしようとすると、「Internet Explorer はクロスサイト スクリプトを防止するために、このページを変更しました。」と表示されます。


FAQ検索:
1.SHTMLのプレビュー機能とはどのようなものですか?
SHTMLでは、HTMLソースの暗号化を行いますが、元のHTMLソースと全く違った形のソースになりますので、「これで本当に正しく表示されるものなのか」と不安になられる方もおられると思います。

そこで、暗号化されたHTMLソースを弊社サーバにワンクリックで転送してもらうことで、簡易的なプレビュー機能を提供するものです。あくまでも、弊社サーバ上におけるプレビューでありまして、お客様のサーバに何らかの方法でアップロードしているというようなことではありません。

また、プレビュー用のHTMLファイルを保存するのではなく、必ず、SHTMLの中で表示されているソースを「全てを選択」というボタンを使って選択し、右クリックでコピーし、お客様のパソコンに保存するようにしてください。決して、プレビュー用のHTMLファイルは保存しないようにしてください。特に、SEOフレンドリー・バージョンや簡易認証モードのプレビューでは、必要なJSファイルやHTMLファイルの一部を弊社サーバ上に仮にアップロードしてもらうことで、弊社サーバ内に一時ファイルとして保存することでプレビューを実現しています。しかし、この一時ファイルは不定期に整理しますので、プレビュー用のHTMLファイルをブラウザのソース表示から保存しようとした場合に、お客様にご迷惑をおかけすることになりかねません。ご注意ください。

「『SHTML』とSEO(サーチエンジン最適化):『昨日までは確かに、正しく表示されていたはずなのに、今日になって、何も表示されません。私が最近ファイルを編集したりしたことはありません。HTMLソースに書かれているJSファイルのURLにアクセスすると、そのJSファイル自体が存在しないようです。どうなっているのでしょうか?』」も参照してください。


2.画像が全く表示されません。スタイルシートが全く適用されていません。
さまざまな理由が考えられますが、代表的なものを掲載します。

  • プレビュー機能は弊社サーバ内(www.shtml.jpなど。)にて行います。皆さんが利用されているサーバにおいて行うわけではありません。そのため、相対パスで画像やJavascript、スタイルシートのパスを指定している場合、そのままでは動きません。そこで、公開予定用のURLをご入力していただき、<base href="http://〜">タグを挿入することにより、弊社サーバ内にてプレビューさせています。

    ですから、もし、公開予定用のURLをご記入いただいていない場合や間違っておられた場合は、正しく表示されず、画像が表示されなかったり、スタイルシートが全く適用されていない不恰好なホームページが、プレビューとして表示されることになります。

  • リンクの設定を<a href="〜">の形式ではなく、Javascriptによるリンク(window.openやlocation.href、location.replaceなど)+相対パスで行っている場合、公開予定用のURLを正しく記載していただいている場合でも、意図したとおりに表示されません。これは、、<base href="http://〜">タグの仕様であり、お客様のご利用になられているサーバにアップしていただければ、正しく表示されるはずです。

  


3.プレビューしたら、私のページではなく、Yahoo! Japanのページが表示されました。なぜですか?
SHTML Professional版及び体験版では、ドメインによる表示の可否を設定可能です。これは、いくらページ全体のHTMLソースを暗号化しても、サイトのHTMLソースを丸ごとコピーされて、別のサーバにアップされてしまう危険性があるためです。「このドメインでしか表示を許可しない」と設定しておけば、そのような心配もありません。

このドメインによる表示の可否を設定している場合には、弊社サーバにおけるプレビュー機能でも、その指定したドメイン以外であると判断されます。したがいまして、SHTMLウイザードの中で指定された、エラー時のURL(未入力の場合はYahoo! Japanのトップページ)のコンテンツが表示されます。おそらく、このエラー時のURLを未入力にされているのだと思います。

これは、あくまでもプレビュー時のみの問題であり、SHTMLの不具合ではなく、むしろ、正しく動作していると言えるかと思います。

ドメインによる表示可否の設定を行われている場合には、このようなプレビュー時の問題が発生しますので、「前のステップに戻る」ためのリンクがSHTMLのウインドウの右下に表示されていると思いますので、そのリンクをクリックしていただき、前のステップに戻っていただき、一旦、ドメインによる表示可否の設定をoffにしていただいた上で暗号化を行ってください。その後、プレビューを行っていただいた上で、表示上、問題ないことを確認されてから、再度、「前のステップに戻る」のリンクをクリックしてください。今度はドメインによる表示可否の設定をonにしていただき、暗号化を行ってください。お手数をおかけしますが、宜しくお願いします。


  


4.プレビューしたら、文字化けしました。または、真っ白のページが表示されます。
メタタグを正しく指定していますか? SHTMLによって暗号化されたファイルの大半はASCII文字になります。日本語が少ないため、文字コードを誤認されやすくなります。メタタグ(<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">など)は必須になります。特に、EUC-JPやUTF-8での公開を考えている場合はそうです。メタタグでも文字化けを解消できない場合は、.htaccessによる制御 をお考えください。

  


5.レイアウトが乱れます。
SHTMLの仕様により、特定の条件が重なった場合に、レイアウトが乱れる場合があります。これは弊社サーバにおけるプレビュー時のみならず、一般公開サーバにアップされても同様な問題が発生します。詳細は、「よくある質問(仕様上の制限事項について): 4.「SHTML」で暗号化するとレイアウトの表示が乱れることがあります。」をご参照ください。

  


6.プレビュー機能を利用すると必ずInternet Explorerが起動するようですが、これをFierfoxなど別のブラウザでプレビューできるようにする方法はありますか?
結論から申し上げますと、ありません。SHTMLはInternet Explorerのレンダリング・エンジンを使用しているため、SHTML内からリンク先がhttp://〜なハイパーリンクをクリックしたり、フォーム・ボタンをクリックすると、必ず、Internet Explorerが起動します。これは、SHTMLの仕様になります。

ですから、Firefoxなど別のブラウザでプレビューしていただくためには、一旦、暗号化したソースを保存していただき、それを該当のブラウザで開き、プレビューしていただくことになります。(ただし、仮にローカルパソコンへの保存・閲覧を禁止する機能(=Professional版にてのみ提供しています。)をオプションで設定している場合には、お客様サーバに一旦アップしていただかないとFirefoxなどのブラウザでのプレビューはできません。)


  


7.フォームを含むホームページを暗号化し、プレビューを行ったところ、ちゃんと表示されました。しかし、実際にフォームに名前や住所などを入力し、テストしようとして送信ボタンをクリックしたところ、「プレビューでは、実際のフォーム送信はできません。大変お手数ですが、SHTMLの暗号化作業の最終ステップで表示されているソースを、元のHTMLファイルと同じ文字コードで保存して、お客様のサーバに実際にアップすることで、動作確認を行ってください。(以下略)」と表示されました。なぜですか?
これは、弊社サーバ上で提供ししていますプレビュー用のページでは、お客様の実際のホームページの文字コードの如何にかかわらず、一律に、UTF-8で行っていること関係しています。

フォームの場合、実際に文字情報をPOSTしたりする訳ですから、必ず想定している文字コードというものがプログラムの中に存在するはずです。Shift_JISで作成したページであれば、Shift_JISのデータがPOSTされるはずだと一般的にはプログラムされていると思います。

しかし、前述のように、弊社サーバ上で提供ししていますプレビュー用のページでは、お客様の実際のホームページの文字コードの如何にかかわらず、一律に、UTF-8で行っている関係上、そのままでは、UTF-8のデータがPOSTされる結果となり、不具合が発生しているように見えてしまいます。元のHTMLファイルと同じ文字コードで保存し、お客様サーバに実際にアップしていただければ、このような不具合は発生しないのですが、弊社プレビュー上でそのままPOSTされますと、不具合が発生します。

「お客様のホームページの文字コードをメタタグなどから自動判別する」「お客様に、文字コードを選択していただく」などの処置により、プレビューページからも実際にPOST送信テストができるようにとも考えましたが、非常に煩雑になるため、かえって、お客様に使いにくいシステムになってしまうと判断しました。そのため、プレビュー画面で、送信ボタンをクリックされたエラーメッセージを表示することでご理解いただくようにしています。あらためて、ご理解くださいますようにお願いします。


  


8.プレビュー用に表示されたHTMLファイルをブラウザのメニューから保存した場合に何か問題がありますか?
はい、問題があります。絶対にやらないでください。プレビュー機能は弊社サーバ上で行っているものですが、プレビューに必要なファイルも一時的に弊社サーバ上にコピーしています。しかし、弊社サーバ上に、プレビューのために生成された一時ファイルは不定期的に整理されます。ですから、ある日を境に、何も表示されなくなるなどの現象が起こりえます。

必ず、SHTMLにおける暗号化作業の最終ステップの下部に表示されているソースを「全てを選択」→「コピー」でお客様のパソコンに保存するようにしてください。プレビューを表示しているブラウザのメニューから保存するようなことはしないでください。


  


9.SHTMLの暗号化の作業の最終ステップに表示されているソースには明らかに存在しないものなのに、プレビューで表示されるページのソースを見てみると、不可解なJavascriptが挿入されています。これは何でしょうか?「function SymError()」や「var SymRealOnLoad;」「var SymRealOnUnload;」などの文字列が見えます
これは、SHTMLのプレビュー機能に問題があるのではなく、お客様のパソコン内にシマンテック社のNorton Internet Securityなどの製品がインストールされているために起こる現象です。Nortonのセキュリティ商品の中には、「ユーザーの同意なしに勝手に開くポップアップ広告」をブロックするために、Intenret Explorerなどのブラウザがページをブラウザ上に表示する前に、Javascriptがあるかないかをチェックし、Javascriptがあると判断すれば、ご指摘のような「function SymError()」や「var SymRealOnLoad;」「var SymRealOnUnload;」「function SymOnLoad()」などの文字列を含む したがいまして、プレビューとして表示されているページのソースを保存するのではなく、SHTMLのJavascriptを勝手にソース中に挿入します。

 「Sym」というのは、「Symantec=シマンテック」の頭文字を取ったプリフィックスと思われます。)

暗号化作業の最終ステップ(テキストエリア内に表示され、「全てを選択」ボタンで選択可能です。)に表示されているソースを保存されて、サーバにアップされるならば、Nortonの該当製品をインストールしていないユーザーの環境では、このようなJavascriptの勝手な改竄を経験することは全くありません。

また、SHTMLにおいてはJavascriptが特殊な方法で暗号化されていることもあり、Nortonの挿入するJavascriptで、既存のJavascriptが動かなくなるなどの現象は、弊社が確認した限りはありません。仮にそのようなケースがあるとしても、それはSHTML暗号化前のソースで試されても同様なことが起こると思われます。

お客様がプレビュー表示しているInternet Explorerのブラウザメニューからソースを保存された場合は、このNortonのJavascriptが混入した形となり、Nortonをインストールしていない該当ユーザーも全て、このNortonのJavasriptが混入されたページを見ることになりますのでご注意ください。

また、これに限らず、前項のFAQでも説明していますように、SHTMLにおける暗号化作業の最終ステップの下部に表示されているソースを「全てを選択」→「コピー」でお客様のパソコンに保存するようにしてください。プレビューを表示しているブラウザのメニューから保存するようなことはしないでください。


  


10. SHTMLがインストールされている端末にはIE8が入っています。プレビューしようとすると、「Internet Explorer はクロスサイト スクリプトを防止するために、このページを変更しました。」と表示されます。
お客様のIE8のデフォルト設定を変更していただかない限り、この警告が出ます。設定を変更していただければ、プレビューできるようになりますが、お勧めしません。

あくまでもSHTMLをインストールしている端末でプレビュー機能を使われる場合のIEのバージョンを問題にしているだけであり、一般閲覧者がIE8を使っている場合には、下記のような設定変更は一切不要であり、そのまま閲覧していただけます。あくまでも、プレビュー機能を利用していただく上での問題回避方法についての説明です。
自己責任ということで、下記の方法を一応説明させていただきます。
a. IE8を起動後、メニューの「ツール」→「インターネットオプション」→「セキュリティ」を開きます。「インターネット」が選択されていることを確認しつつ、「レベルのカスタマイズ」をクリックしてください。


「セキュリティ設定 - インターネットゾーン」が開きます。この中の「XSS フィルターを有効にする」の設定を一時的に「無効にする」にしてください。(「XSS」とは「Cross Site Scripting(クロスサイトスクリプティング)」の略ですが、スタイルシートのCSSと紛らわしいため、「XSS」と表記することが多いです。)


これにより、エラーメッセージは出なくなりますが、プレビュー後、また設定を元に戻すことを忘れないようにしてください。せっかくのセキュリティ設定が台無しになってしまいます。

基本的には、IE8を御利用の場合には、プレビュー機能は利用してもらえませんので、サーバにアップしてご確認していただくか、ローカルサーバにてテストを行ってください。ローカルサーバは、XAMPP(PHPやMySQLも同時にインストールされます。)をご利用になると比較的簡単に構築できますので、お勧めです。