Javascript flash as3将带有特殊字符(如换行符“\n”)的字符串从JS传递到flash
我遇到了以下问题: 例如,我们有htmlJavascript flash as3将带有特殊字符(如换行符“\n”)的字符串从JS传递到flash,javascript,actionscript-3,flash,Javascript,Actionscript 3,Flash,我遇到了以下问题: 例如,我们有html <div id="123">123\n456</div> 并将其传递给flash对象 top.flashObj.FlashFunction(a); 然后它不会将其视为123\n456,而是 123 456 我的意思是,avar在flash中带有真正的换行符 我应该怎么做才能避免使用特殊字符传递VAR JS>SWF,反之亦然?我通常会这样做\\n然后在其上运行正则表达式替换: myString.replace( /\\\n/g
<div id="123">123\n456</div>
并将其传递给flash对象
top.flashObj.FlashFunction(a);
然后它不会将其视为123\n456
,而是
123
456
我的意思是,a
var在flash中带有真正的换行符
我应该怎么做才能避免使用特殊字符传递VAR JS>SWF,反之亦然?我通常会这样做\\n然后在其上运行正则表达式替换:
myString.replace( /\\\n/g, "\n" );
这不是我描述的问题。div内容中有实数
123\n456
(反斜杠
和n
字符),它作为换行符(一个字符而不是两个字符)传递到swf中,好的,让我确定我得到了这个,a
参数中的值为123\n456
,但在闪存端,字符串参数中是否没有\n
正确?是。你的建议是对的。我已经像你说的那样试过了-已经发送到swfa.replace(/\\\/,“\\\\”)
但是在中有\'
(字面上是反斜杠和单引号)这样的东西,flash将它作为\\'
返回(两个反斜杠和一个引号)。我唯一的猜测是,当js>swf时,替换所有\asbAckSlaSh
,当从swf返回到JSF时,替换所有\asbAckSlaSh
as\无论如何,您决定这样做的最佳方式是将格式转换为要替换的内容。除此之外,没有一个真正好的解决方法。
myString.replace( /\\\n/g, "\n" );