Javascript 个不支持特殊字符的字符串

Javascript strings not supporting special characters

我有一个 3 帧的 HTA,总体如下所示:

<html>
<head>
<script type="text/javascript">
     function f(){
          frames["toolbar"].document.write("Toolbar");
          frames["statusbar"].document.write("Status bar");
     }
</script>
<frameset rows="65,*,19" onload="f()">
     <frame src="about:blank" name="toolbar" application="yes"/>
     <frame src="url.html" name="main" application="yes"/>
     <frame src="about:blank" name="statusbar" application="yes"/>
</frameset>
</html>

注意:工具栏和状态栏框架的内容比这里指定的要复杂。

请注意,两个帧是使用 JavaScript 定义的,没有真正的 URL。

由于这个 HTA 是瑞典语的,我需要使用瑞典语的特殊字母 å、ä 和 ö,例如 alert("Du är inte uppkopplad")。问题在于,在 JavaScript 中定义了内容的工具栏框架和状态栏框架中,此警告框如下所示:

它在工具栏框架和状态栏框架中用丑陋的正方形替换了 ä,但在主框架中没有(它有一个真实的 URL)。我该如何解决这个问题?

如果我在父 HTA 中创建一个采用值ä 的变量,它会起作用,如下所示:

主要 HTA:

<html>
<head>
<script type="text/javascript">
     function f(){
          frames["toolbar"].document.write("<script type='text/javascript' src='script.js'><\/script>");
          frames["statusbar"].document.write("Status bar");
     }
     var a = "ä"
</script>
<frameset rows="65,*,19" onload="f()">
     <frame src="about:blank" name="toolbar" application="yes"/>
     <frame src="url.html" name="main" application="yes"/>
     <frame src="about:blank" name="statusbar" application="yes"/>
</frameset>
</html>

script.js:

alert("Du " + parent.a + "r inte uppkopplad");

感谢 t.niese 在评论中给我想法。