我想从一个文本字换行符,而无需进行任何服务器调用。 这个答案让我90%的方式出现。 问题是,在页面的iframe每个提交按钮时被点击的内部重新加载。 下面的代码:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <html> <body> <script type="text/javascript"> function getURLParameter(qs, name) { var pattern = "[\\?&]" + name + "=([^&#]*)"; var regex = new RegExp(pattern); var res = regex.exec(qs); if (res == null) return ""; else return res[1]; } function getHardWrappedText() { var frm_url = document.getElementById('frame').contentDocument.URL; var text = unescape(getURLParameter(document.getElementById('frame').contentDocument.URL, 'text')).replace(/\+/g, ' '); return text; } function onIFrameLoad() { var text = getHardWrappedText(); console.log(text); } window.onload = function() { console.log("loading") }; </script> <form name="form" method="get" target="frame"> <textarea id="text" name="text" cols=5 wrap="hard">abcde f</textarea> <input type="submit"> </form> <iframe id="frame" name="frame" onload="onIFrameLoad()" style="display:none;"></iframe> </body> </html>
点击提交按钮给人的输出:
loading
a b c d e
f
有没有一种方法,以防止IFRAME的重新加载页面?