FabricJS Android Webview 换行符显示为 \n
FabricJS Android Webview Newlines showing as \n
所以我用 canvas 加载了一个基本页面,一切似乎都正常,除了换行符显示为 \n
这里是 java 方法的正文:
input = StringEscapeUtils.unescapeShell(this.getData());
private String htmlBody(String input){
return "<html><head>" +
"<link href=\"fonts.css\" type=\"text/css\" rel=\"stylesheet\" />" +
"<script src=\"jquery.min.js\" type=\"text/javascript\"></script>" +
"<script src=\"fontfaceobserver.js\" type=\"text/javascript\"></script>" +
"<script src=\"fabric.min.js\" type=\"text/javascript\"></script>" +
"<style type=\"text/css\">" +
".canvas-container {" +
"margin: 0 auto;" +
"}"+
"</style>" +
"<script src=\"javascript_fabric.js\" type=\"text/javascript\"></script>" +
"</head><body>"+
"<div id=\"sb2div\" class=\"row\" style=\"margin: 0 auto!important; max-height: 100vh\">" +
"<canvas id=\"fabricjs-branding\" width=\"600\" height=\"600\" style=\"margin: auto!important;\"></canvas>" +
"</div>" +
"<script>" +
"$(document).ready(function(){" +
"setUpBranding();" +
"var o = " + input + ";" +
"console.log(o);" +
"fabricjscanvas.loadFromJSON(o);"+
"});" +
"</script>" +
"</body></html>";
}
setUpBranding()
对 fabricjscanvas
进行了初始化,它确实添加了一些功能原型,但问题与它们无关。
itext 和 textbox 是使用当前版本 4 的标准
在桌面上使用相同的设置一切正常...
根据评论,我发现换行符没有与 json 数据的其余部分一起转义...很奇怪,但我能够使用 Java 字符串替换方法修复它... 在使用 StringEscapeUtils.unescapeShell
之后
input = StringEscapeUtils.unescapeShell(this.getData());
input = input.replace("\\n", "\n");
所以我用 canvas 加载了一个基本页面,一切似乎都正常,除了换行符显示为 \n
这里是 java 方法的正文:
input = StringEscapeUtils.unescapeShell(this.getData());
private String htmlBody(String input){
return "<html><head>" +
"<link href=\"fonts.css\" type=\"text/css\" rel=\"stylesheet\" />" +
"<script src=\"jquery.min.js\" type=\"text/javascript\"></script>" +
"<script src=\"fontfaceobserver.js\" type=\"text/javascript\"></script>" +
"<script src=\"fabric.min.js\" type=\"text/javascript\"></script>" +
"<style type=\"text/css\">" +
".canvas-container {" +
"margin: 0 auto;" +
"}"+
"</style>" +
"<script src=\"javascript_fabric.js\" type=\"text/javascript\"></script>" +
"</head><body>"+
"<div id=\"sb2div\" class=\"row\" style=\"margin: 0 auto!important; max-height: 100vh\">" +
"<canvas id=\"fabricjs-branding\" width=\"600\" height=\"600\" style=\"margin: auto!important;\"></canvas>" +
"</div>" +
"<script>" +
"$(document).ready(function(){" +
"setUpBranding();" +
"var o = " + input + ";" +
"console.log(o);" +
"fabricjscanvas.loadFromJSON(o);"+
"});" +
"</script>" +
"</body></html>";
}
setUpBranding()
对 fabricjscanvas
进行了初始化,它确实添加了一些功能原型,但问题与它们无关。
itext 和 textbox 是使用当前版本 4 的标准
在桌面上使用相同的设置一切正常...
根据评论,我发现换行符没有与 json 数据的其余部分一起转义...很奇怪,但我能够使用 Java 字符串替换方法修复它... 在使用 StringEscapeUtils.unescapeShell
input = StringEscapeUtils.unescapeShell(this.getData());
input = input.replace("\\n", "\n");