zoukankan      html  css  js  c++  java
  • WPF 应用

    1. 前提

    • 原本是在大屏上展示系统,系统有个功能是加载第三方的网站,第三方网站按照大屏的分辨率写死了宽高;
    • 现需要改到小屏展示系统,而这个第三方的网站不能随着 WebBrowser 窗口的尺寸调整网站内容的尺寸。

    2. 解决思路

    1)加载完毕后,调用 InvokeScript 方法执行在当前加载的文档中定义的脚本函数,简单说就是调用网站的 js 方法;
    2)网站未必会定义一个实现相关功能的方法,因此我们可以通过 eval 方法执行 js 代码。

    <Grid x:Name="wb" Margin="10" Background="White">
        <WebBrowser Margin="0" x:Name="wbLeft" Source="about:blank"></WebBrowser>
    </Grid>
    
    wbLeft.Width = wb.ActualWidth;
    wbLeft.Height = wb.ActualHeight;
    string url = string.Empty;
    wbLeft.Navigate(url);
    
    wbLeft.LoadCompleted += (s,e)=>
    {
        wbLeft.InvokeScript("eval", new object[] { "document.body.style.zoom = 0.8;" });
    };
    

    题外话:

    <script type="text/javascript">
    
    eval("x=10;y=20;document.write(x*y)")
    
    document.write(eval("2+2"))
    
    var x=10
    document.write(eval(x+17))
    </script>
    
    输出 
    200
    4
    27
    
  • 相关阅读:
    java中JVM的原理重温【转】
    JavaBean 规范
    Java编程规范[转]
    spring mvc 多数据源切换,不支持事务控制[一]
    03-连连看-连通分析
    02-连连看-用例分析
    01参考资料
    03-稀疏矩阵
    02-对不重复的一组数据查找
    01-用链式结构打印学生成绩单
  • 原文地址:https://www.cnblogs.com/MichaelLoveSna/p/14486599.html
Copyright © 2011-2022 走看看