0

一部のコンピューターでは、クライアントが特定のhtmlページを開くと、クライアント側のvbscriptコードの一部がハイフンで破棄されます。そのページのvbscriptコードは、スクリプトの開始タグと終了タグで囲まれた1つの巨大なコードセクションで構成されていることがわかりました。私はそれを小さなセクションに断片化することに決めました、そしてそれはより良いように見えました、しかし私がそれを10のセクションに断片化したとき、2つのセクション(セクションは開始タグと終了タグの間のコードを意味します)はまだゴミ箱に入れられました(つまりセクションコード全体がハイフンに置き換えられましたhtmlの開始と終了の注釈記号で囲まれています:セクションの1つはそれほど大きくありませんでした(おそらく100行)、確かに破損していない他の大きなセクションがありました.2つまたは3人のクライアント、そして彼らの忍耐力は(私がすでに使用した)まれなリソースです。したがって、スペースを操作せずに、それらをもう少し断片化して、これが役立つことを願っていますか?それとも別の問題ですか?

4

2 に答える 2

2

スクリプト タグと html コメントについて混乱があるようです。クライアント側の VBScript タグは次のようになります。

<script type="text/vbscript"> ... </script>

または、古い (非推奨の) language 属性を使用します。

<script language="VBScript"> ... </script>

これは、クライアントに到達する唯一の種類の VBScript です。もちろん、それを.aspページに配置した場合に限ります。ページに配置.htmlすると、サーバー上のスクリプト エンジンを介して実行されることなく、そのままクライアントに送信されます。

サーバー側の VBScript タグは次のようになります。

<script runat="server"> ... </script>

または短い形式:

<% ... %>

ページに正しいサーバー サイド スクリプト タグがある場合.asp、内部のコードがクライアントに表示されることはありません。

HTML コメントは次のようになります。

<!-- ... -->

ハイフンは HTML コメントの一部であることに注意してください。最初の 2 つのハイフンはコメント モードをオンにし、最後の 2 つのハイフンはコメント モードをオフにします。コメント内にさらに 2 つのハイフンがある場合、それは壊れており、ページにレンダリングされます。

<!-- This is not -- a comment -->

ただし、ハイフンの別のペアを入れてコメント モードを再度オンにすると、それは有効なコメントになります。

<!-- This is -- -- a comment -->

HTML コメントは、スクリプト タグ内で使用されることがあります。これは、スクリプトをサポートしていないブラウザーではページにコードを表示してはならないという歴史的な理由からです。現在、スクリプトを実行しなくても、すべてのブラウザーが script タグを理解するため、これはもう必要ありません。誰かが 20 年前のブラウザを持っているリスクはかなり低いです。

HTML コメントを含むスクリプト タグがあり、スクリプト タグと HTML コメントの両方が破損している場合、ブラウザに表示される可能性があります。このような:

<scrpt type="text/javascript">
<!--
var i = 1;
i--;
//-->
</script>

スクリプト内の -- 演算子がコメントを分割していることに注意してください。ただし、script タグが壊れていなければ問題ありません。ブラウザーはスクリプト内のコメントを実際のコメントとして扱わないため、壊れていても問題ありません。

于 2009-09-13T08:30:49.910 に答える
0

何が問題なのかわかりました。インターネット プロバイダーが提供するアンチウイルスは、「疑わしい」と思われる vbscript コードを無力化することを決定しました。そのため、たとえば、vbscript に swFileExists という名前の変数が含まれている場合、vbscript セグメント全体が、わかりやすい安全なハイフンの集まりに変わります。

于 2010-02-04T15:32:26.130 に答える