2015-01-31 46 views
0

我有3张,它整个看上去像这样的HTA:的JavaScript字符串不支持特殊字符

<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中被定义状态栏架,这个警告框看起来是这样的: enter image description here

它取代的工具栏架一个丑陋的广场,在状态ä框架,但不在主框架(它有一个真正的URL)。我该如何解决?

+1

使用适当的编辑器并从ANSI转换为'UTF8'。你也可以添加一个meta标签'' – Mouser 2015-01-31 22:35:44

+1

然后提交包含'ä'的文件的编码与用于创建'ä'的不同。 – 2015-01-31 22:36:07

回答

0

如果我创造一个取值ä这样父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在评论中给我这个想法。