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の使用について...もっと説明できますか?私はそれを試してみたい。