我花了几个小时试图了解发生了什么,但没有成功。 我使用php值定义javascript变量。
因此,var sname
是以下内容:
var sname = 'Mónica'; //with an accented character
var sname = 'Edgar';
当我查看页面源代码时,一切都是正确的,但警报始终显示第一个名字-Mónica。当我放第一本Edgar时,警报显示这两种情况都显示Edgar。如果我将重音名称Mónica替换为其他没有重音的名称,则一切正常。没有控制台错误,什么都没有。这是否意味着我不能在javascript变量中使用带重音符号的字符?
var estilo
总是正确的。
var fromname = 'edgar';
var username = 'monica';
var msg = 'eúíéñú';
if(fromname === username) {
var estilo = 'me';
var sname = '<?php echo $sender;?>';
} else {
var estilo = 'you';
var sname = '<?php echo $receiver;?>';
}
var htmlx='div class="bubble '+estilo+'"><p>'+sname+'</p><div">'+msg+'</div><p">'+hour+':'+minute+'</p></div>';
alert(htmlx);
警报针对每种情况显示不同的estilo
,但始终是相同的sname
。
答案 0 :(得分:0)
这解决了问题:
if(fromname === username) {
sname = '<?php echo $sender;?>';
} else {
sname = '<?php echo $receiver;?>';
}
var htmlx='div class="bubble '+estilo+'"><p>'+sname+'</p><div">'+msg+'</div><p">'+hour+':'+minute+'</p></div>';
delete sname;