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
    
  • 相关阅读:
    React Native商城项目实战08
    React Native商城项目实战07
    React Native商城项目实战05
    React Native商城项目实战06
    React Native商城项目实战04
    React Native商城项目实战03
    React Native商城项目实战02
    单选框input:radio
    myDate97用法
    STRUTS2配置动态页面
  • 原文地址:https://www.cnblogs.com/MichaelLoveSna/p/14486599.html
Copyright © 2011-2022 走看看