Javascript 带换行符的WKWebView和InnerText
我目前正在使用Xamarin在iOS应用程序中实现web视图。我的webView是一个WkWebView。我的问题是,每当我传递的文本有新行时,它都无法显示。然而,在我的浏览器(chrome)和Safari中测试我的功能时,我发现它执行得很好。我进行了一些搜索,并尝试将\n字符替换为\r\n,但这并没有解决我的问题。我错过了什么 C#: formAnswers。导致问题的答案是:Javascript 带换行符的WKWebView和InnerText,javascript,c#,xamarin,xamarin.ios,wkwebview,Javascript,C#,Xamarin,Xamarin.ios,Wkwebview,我目前正在使用Xamarin在iOS应用程序中实现web视图。我的webView是一个WkWebView。我的问题是,每当我传递的文本有新行时,它都无法显示。然而,在我的浏览器(chrome)和Safari中测试我的功能时,我发现它执行得很好。我进行了一些搜索,并尝试将\n字符替换为\r\n,但这并没有解决我的问题。我错过了什么 C#: formAnswers。导致问题的答案是: "Hello world from the device, I do not know how well this
"Hello world from the device, I do not know how well this will display our data at all. But we will see how this works. I wonder, if I were to add enter keys will it work?\n\n\nI kinda doubt it. ";
JS:
HTML:
除非您明确要求HTML元素换行,否则它们不会换行;诸如
\n
之类的换行符被视为空格。请尝试插入HTML,这样您就可以将换行符替换为
:
answerLabel.innerHTML=answer.replace(/\n/g,
)代码>
例如:
document.body.appendChild(document.createElement('label')).innerHTML=`第一行
第二行“.替换(/\n/g,
”)
innerText
是IE引入的一个古怪的非标准属性。强烈建议改为使用标准、更快、更可靠的textContent
——请参阅@CertainPerformance textContent也无法正常工作。@请覆盖整个innerText;看起来好像整个div没有被添加,好像我有我的JS打印我有多少标签,它返回6,如果它是正确的,它会说8没有运气。这很奇怪,因为它在html编辑器中工作得很好。实际上找到了一个很好的解决方法,从C#向我的JS发送JSON数据。然后JSON将解析它。你确定你更改了分配给.innerHTML
的属性吗?我确实更改了。我总是可以稍后再试(工作日结束),以确保我没有错过任何东西。我非常感谢你的帮助。
"Hello world from the device, I do not know how well this will display our data at all. But we will see how this works. I wonder, if I were to add enter keys will it work?\n\n\nI kinda doubt it. ";
function buildText(entryText, answer) {
var answerAreaDiv = document.getElementById('answerArea');
var holder = document.createElement('div');
holder.classList.add('holder');
var entryLabel = document.createElement("label");
entryLabel.textContent = entryText + ':';
var answerLabel = document.createElement("label");
answerLabel.innerText = answer;
holder.appendChild(entryLabel);
holder.appendChild(answerLabel);
answerAreaDiv.appendChild(holder);
}
<body>
<div id="answerArea">
</div>
</body>