Vue.js 如何根据Nativescript Vue中内容的长度设置WebView的高度?

Vue.js 如何根据Nativescript Vue中内容的长度设置WebView的高度?,vue.js,webview,markdown,nativescript,Vue.js,Webview,Markdown,Nativescript,更新:我使用了HtmlView,是的,高度随内容而变化, 但似乎不支持 结果是固定在1200px与预期的滚动条,但我实际上想做的是,以不同的高度呈现整个标记内容,没有滚动条 有人可以帮忙吗 PS:欢迎使用任何其他可能呈现降价内容的方法!谢谢大家! 你对网站有控制权吗?如果有,你可以这样做 我已经想出了在没有插件的情况下如何做到这一点。 上面有一个解决方案,它在URL后面附加一个包含页面高度的哈希。它对我不起作用,因为我直接添加HTML代码。 比如说 <WebView :src="mark

更新:我使用了HtmlView,是的,高度随内容而变化, 但似乎不支持

结果是固定在1200px与预期的滚动条,但我实际上想做的是,以不同的高度呈现整个标记内容,没有滚动条

有人可以帮忙吗


PS:欢迎使用任何其他可能呈现降价内容的方法!谢谢大家!

你对网站有控制权吗?如果有,你可以这样做


我已经想出了在没有插件的情况下如何做到这一点。 上面有一个解决方案,它在URL后面附加一个包含页面高度的哈希。它对我不起作用,因为我直接添加HTML代码。 比如说

<WebView :src="marked_content" height="1200px" margin="20dp" />
这将检查查询字符串高度值是否存在。 如果是,它将使用“高度”值设置webview的高度。 最后,它添加在已加载处理程序中复制的HTML内容。 即使在一个页面中有多个Web视图,我的初始测试也能很好地工作。 我没有做过大量的测试,但是如果您遇到任何问题,它可能有助于增加设置超时时间。
如果有人能够改进此解决方案,请分享您的结果。

谢谢@Manoj!这是一个好方法!但遗憾的是,我们并非一直都拥有这个网站;(这是最简单的方法,在不修改站点的情况下,还有其他方法可以做到这一点,但这需要位本机编码,至少在Android上是这样,因为Java注释还不能编组到JavaScript中。
src="<p>blah blah</p>"
platformModule = require("tns-core-modules/platform");
var webViewSrcObj = {};
exports.webViewLoaded = function(webargs){
    if(platformModule.isAndroid){console.log("IS ANDROID!!!"); return false;}
    webview = webargs.object;
    if(webview.height == "auto"){
        webViewSrcObj[webview.id] = webview.src;
        webview.src += '<script>function getPageHeight(){if(document.documentElement.clientHeight>document.body.clientHeight){height = document.documentElement.clientHeight}else{height = document.body.clientHeight}; ph = document.getElementById("pageHeight"); window.location = "pageHeight.html?height="+height;} setTimeout(getPageHeight, 1);</script>';
    }
}
exports.webViewLoadFinished = function(webargs){
    if(platformModule.isAndroid){
        console.log("IS ANDROID!!!"); return false;
    }
    webview = webargs.object;
    if(webargs.url.indexOf("?height") > -1){
        height = (webargs.url).split("?height=");
        height = height[1].substr(0, height[1].length)/1;
        webview.height = height; webview.src = webViewSrcObj[webview.id];
    }
}