3つの.jsファイルを含むsite.htmlページがあり、スクリプトが実行され、環境を準備し、.xmlファイルから別のm.htmlファイルを抽出し、次のコードを使用してこの生成されたm.htmlファイルを画面に表示します。
var dd=document.open("text/html","replace");
dd.write(htmlData);
dd.close();
site.htmlは次のようになります。
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<script type="text/javascript" src="file1.js"></script>
<script type="text/javascript" src="file2.js"></script>
<script type="text/javascript" src="file3.js"></script>
<link rel="stylesheet" type="text/css" href="file4.css">
</head>
<body>
_
</body>
</html>
次のように生成されたm.html:
<html>
<head>
<meta name="viewport" content="user-scalable=no">
<link rel="stylesheet" type="text/css" href="file4.css">
<script type="text/javascript" src="uag.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body id="homebody">
<img class="background" src="a.jpg">
<div id="homebuttons">
<table>
<tr>
<td>
<a href="javascript:alert(typeof PL_open)"><img src="b.png"></a>
</td>
<td class="spacer">
</td>
<td>
<a href="javascript:PL_open('activate:a')"><img src="c.png"></a>
</td>
</tr>
<tr class="spacer">
</tr>
<tr>
<td>
<a href="javascript:PL_open('activate:b')"><img src="d.png"></a>
</td>
<td class="spacer">
</td>
<td>
<a href="javascript:PL_open('activate:c')"><img src="e.png"></a>
</td>
</tr>
</table>
</div>
</body>
</html>
は正しく表示されますが、ボタン(リンク)の1つを押すと、次のエラーメッセージが表示されます。オブジェクトが必要です:JScript-ウィンドウスクリプトブロック、1行目、char1。
最初のリンクを押すと、アラートボックスに「undefined」というテキストが表示されます。
PL_open()js関数はfile1.jsで定義されており、テストによると、m.htmlが画面に読み込まれるまで定義されています。
まったく同じコードは、chromeとsafaryで完全に機能します。
誰かが私に問題を指摘したり案内したりできますか?どんな助けにも感謝します!私の脳はすでに溶けています:)よろしくお願いします!
編集:
コメントしてくれてありがとう!!質問を投稿するときに誤って引用を削除したので、問題は「一重引用符の欠落」ではありません。
テストを行い、file1.jsをm.htmlに含めました。この場合、関数は実行されますが、予想どおり、無限ループに入ります。file.jsとuag.jsは大丈夫だと思います。必要に応じてとにかく投稿できます。そしてajaxの使用について...もっと説明できますか?私はそれを試してみたい。