WebBrowser中Newwindow3新建页面怎么获取到需要post的参数

jyxuan94 2020-11-13 04:38:34
各位大佬,是这样的,目前duilib中集成的WebBrowser控件之前Newwindow3这边做处理是打开默认浏览器,因为涉及会话等原因,打开浏览器会到登陆界面,这边需求改成才客户端内部打开,在某个某块中跳转的和浏览器中的结果不一样,我开发者工具调试,发现这个新建页是发起了一个post请求,初步断定是由于少了post的信息
void NewWindow3(IDispatch **pDisp, VARIANT_BOOL *&Cancel, DWORD dwFlags, BSTR bstrUrlContext, BSTR bstrUrl);这边没有找到可以获取post信息的字段
也查询了资料
https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/aa768283(v=vs.85)
请问下各位这个post的信息要如何获取到
不好意思,没分了
...全文
339 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jyxuan94 2020-11-16
  • 打赏
  • 举报
回复
找到方法了。只要将newwindow3中的IDispatch **pDisp交给新创建的IWebBrowser2*处理下,方法如下
ie->GetWebBrowser2()->QueryInterface(IID_IDispatch,(void**)pDisp);
weixin_46618403 2022-09-06
  • 举报
回复
@jyxuan94 我在chrome里面集成了ie内核 打开新窗口后,post转成的get 跟你这种情况差不多,按照你这样处理会变成post么
weixin_46618403 2022-09-06
  • 举报
回复
@jyxuan94 你好,要不要在打开页面的时候获取到相关的参数,传到对应的函数呀
jyxuan94 2020-11-13
  • 打赏
  • 举报
回复
function batDel(){
		document.expenseForm.target = "_blank";
		var name = encodeURI(encodeURI($("#name").val()));
		var url ="XXXXXX.do?method=XXXXX&name="+name;
		document.expenseForm.action = url;
		document.expenseForm.submit();
		location.reload();
	}
看了下是这个问题,他新开页面后提交了一次表单,我这边js水平差不行,有大佬知道这个到底是新开页面做的表单提交还是原页面做的表单提交? 个人感觉问题出现在表单提交这边了。好像新开的页面没有和原来的页面关联起来
jyxuan94 2020-11-13
  • 打赏
  • 举报
回复
不好意思,应该是get,不过是A页面上打开B页面,请求对象是C页面,如果是B页面上刷新,那是post请求

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧