| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 6071 人关注过本帖, 5 人收藏
标题:vfp WebView2 Demo (终:含C++、VFP全部源码)
只看楼主 加入收藏
SATANA
Rank: 1
等 级:新手上路
帖 子:35
专家分:9
注 册:2006-4-12
收藏
得分:0 
请教吹版
1为啥 WEBVIEW2浏览器部分 有时候出现白板?
2怎么修改sec-ch-ua

[此贴子已经被作者于2025-8-7 18:17编辑过]

昨天 18:09
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10634
专家分:43252
注 册:2014-5-20
收藏
得分:0 
以下是引用SATANA在2025-8-7 18:09:55的发言:

请教吹版
1为啥 WEBVIEW2浏览器部分 有时候出现白板?
2怎么修改sec-ch-ua

我小孙女都过两岁半上幼儿园了,二年多没去看WEBVIEW2,自己写的东东怕也忘了。
有兴趣的话可以看看源代码,看问题出在那个环节。
昨晚 19:23
SATANA
Rank: 1
等 级:新手上路
帖 子:35
专家分:9
注 册:2006-4-12
收藏
得分:0 
启动WEBVIEW2偶尔会出现白板,就是不渲染,退出程序, 重新启动 2 3次 浏览器才能正常显示
另外能否修改 请求头的一些信息 比如sec-ch-ua
 我是真不会
烦劳吹版 指教一些   感谢~~
昨晚 19:35
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10634
专家分:43252
注 册:2014-5-20
收藏
得分:0 
我也是边看边学边写的,WEBVIEW2应该也更新了不少。
现在没那么多时间去看WEBVIEW2了。源代码摆在那了,有兴趣自己去看试试,这东西想玩得转还是要信自己。
出现白板看看是那个环节的问题,是不是异步消息的问题,可以适当增加延时或监测异步消息的结果再作下一步。


昨晚 20:01
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10634
专家分:43252
注 册:2014-5-20
收藏
得分:0 
以下是引用SATANA在2025-8-7 19:35:01的发言:

另外能否修改 请求头的一些信息 比如sec-ch-ua

sec-ch-ua应该不算是WebView2的问题,我也没接触过,可能是HTTP协议的东西。



[此贴子已经被作者于2025-8-7 20:10编辑过]

昨晚 20:08
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10634
专家分:43252
注 册:2014-5-20
收藏
得分:0 
记得有个过滤过程也是修改包头数据,可以看看过滤的相关代码。
其中的 referer 就是请求头的东西,这里好像是拦截修改请求头。

主文件中:
    * 为WebResourceRequested事件添加URI和资源过滤器
    * void WebView_AddWebResourceFilter(LPCWSTR const uri, int flags)
    *    flags, 1 设置过滤地址,0 设置添加请求标头 referer
DECLARE long WebView_AddWebResourceFilter     IN myWebViewDll string,long

    * 清除AddWebResourceRequestedFilter添加的事件过滤器
    * void WebView_RemoveWebResourceFilter(LPCWSTR const uri)
DECLARE long WebView_RemoveWebResourceFilter  IN myWebViewDll string  


昨晚 20:32
SATANA
Rank: 1
等 级:新手上路
帖 子:35
专家分:9
注 册:2006-4-12
收藏
得分:0 
请教吹版
HTTP里user-agent或 sec-ch-ua 等请求标头之类的修改  在您提供的WEBVIEW2里 怎样实现
网上找的资料也是WebResourceRequested,但没法照搬
WEBVIEW2 demo的代码里我又找不到北   不好意思,还得麻烦吹版点拨一下,下手的地方

[此贴子已经被作者于2025-8-8 08:12编辑过]

12 小时前
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10634
专家分:43252
注 册:2014-5-20
收藏
得分:0 
以下是引用SATANA在2025-8-8 05:57:46的发言:

请教吹版
HTTP里user-agent或 sec-ch-ua 等请求标头之类的修改  在您提供的WEBVIEW2里 怎样实现
网上找的资料也是WebResourceRequested,但没法照搬
WEBVIEW2 demo的代码里我又找不到北   不好意思,还得麻烦吹版点拨一下,下手的地方

用过C++的话可以参考C++源码文件 myWebViewDll.cpp
其中:
函数 WebView_AddWebResourceFilter()
事件 OnWebResourceRequested
        其中:下面几句是设置请求标头的 referer
        ComPtr<ICoreWebView2HttpRequestHeaders> httpRequest;
        request->get_Headers(&httpRequest);
        httpRequest->SetHeader(L"referer", uri_previous);

10 小时前
SATANA
Rank: 1
等 级:新手上路
帖 子:35
专家分:9
注 册:2006-4-12
收藏
得分:0 
问题是在DEMO的代码里 哪个地方能实现?
9 小时前
SATANA
Rank: 1
等 级:新手上路
帖 子:35
专家分:9
注 册:2006-4-12
收藏
得分:0 
webView.CoreWebView2.WebResourceRequested += async (sender, args) => {
    // 获取请求对象
    var request = args.Request;
   
    // 修改sec-ch-ua头
    request.Headers.Remove("sec-ch-ua");
    request.Headers.Append("sec-ch-ua", "\"CustomBrowser\";v=\"1.0\", \"Not.A/Brand\";v=\"99\"");
   
    // 可选:修改其他相关头
    request.Headers.Append("sec-ch-ua-mobile", "?0");
    request.Headers.Append("sec-ch-ua-platform", "\"Windows\"");
};
这是网上的  代码的意思我基本也理解  但我不知道怎么移植到程序里
我连C都不会  别说C++了  学艺不精啊  惭愧

[此贴子已经被作者于2025-8-8 10:28编辑过]

9 小时前
快速回复:vfp WebView2 Demo (终:含C++、VFP全部源码)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016458 second(s), 8 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved