首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Web浏览器控件的window.external始终为null

在浏览器中,window.external 属性通常用于与外部对象(如 ActiveX 或其他插件)进行交互。然而,在某些情况下,window.external 可能会返回 null。以下是一些可能导致 window.externalnull 的原因:

  1. 浏览器安全设置:某些浏览器可能会因为安全原因禁用 window.external 的访问。
  2. 插件或扩展冲突:某些插件或扩展可能会与 window.external 的功能产生冲突,导致其返回 null
  3. 浏览器兼容性问题:在不同的浏览器和版本中,window.external 的实现可能会有所不同,这可能导致其返回 null

如果您在 Web 应用程序中遇到 window.externalnull 的问题,可以尝试以下方法解决:

  1. 检查浏览器设置:确保浏览器允许访问 window.external
  2. 禁用或删除可能冲突的插件或扩展。
  3. 尝试在其他浏览器中运行应用程序,以检查是否是浏览器兼容性问题。

如果您需要在 Web 应用程序中与外部对象进行交互,可以考虑使用其他方法,例如使用 Web 消息传递、iframe 通信或者 Web Workers 等技术。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

自己动手写客户端UI库——事件机制(设计思路大放送)

在上一篇文章中我们创建了一个Button控件,并把这个控件显示在界面上, 在这一篇文章中,我们将为这个控件增加一个事件和一个方法 一:怎么绑定事件问题 在Winform中,我们对一个按钮绑定事件方式如下...(这是真正事件) 然而,在WUI库中,一个按钮绑定事件是这样,(这不是一个事件,这只是调用了一个方法,给这个方法传递了一个i额委托) 问题: 为什么会有这样差异呢?...(也就是把html代码append到浏览器之前),顺便用js给他绑定一个click事件就好了。...我可以随意控制他,让他做我想做事情 二:ButtonBindClickEvent方法 第一:这个方法接收一个类型Action类型参数,Action其实就是一个委托...,只说2点: 1、JS要通过window.external调用C#里方法 2、要把浏览器ObjectForScripting设置给一个对象,这个对象必须是ComVisible 第二: 所有的按钮,

1.4K90

CodeFirst写界面——自己写客户端UI库

PanelMain赋值了,这就是我们要添加东西了 第四步:一个特殊Panel 在上面的代码中,我们给PanelMain属性赋值Main实例,那么我们看一下Main是一个什么样类型首先:这个类继承自...让我们来看看WUIMain代码 (说明一下WB就是我们浏览器控件了)首先:我们让浏览器加载了那个主页文档(以后我们会做成动态路径)第二:我们创建了一个RenderContext类实例,并且把Main...然而我们疑问还是没有解决,那么只能继续看RenderContext代码 首先:我们在这个类型构造函数中得到了Main实例 其次:我们把这个类型设置成了ComVisible (注意,要想设置一个类型...对了,就是我们在JS中调用方法window.external.WUIPageLoaded(); 需要注意有两点: 第一:一定要用window.external调用这个方法 第二:如果这个类型不设置成...ComVisible就调用不到 第三:在WUIPageLoaded方法中,我们让浏览器执行了一段脚本,就是PanelMainToJs方法里脚本了,这个时候就把这个控件渲染到浏览器中去了 第四:我们调用了

2.6K100

ASP.NET 缓存:方法和最佳实践

同一个 URL 可能需要同时浏览器和移动电话客户端呈现输出,因此,需要针对不同客户端缓存不同内容版本。...后一个例子非常普遍,我们将提供一个说明如何实现此目标的示例: 示例: VaryByCustom 用于支持浏览器自定义 为了使每个浏览器都具有单独缓存条目,VaryByCustom 值可以设置 "browser...然后,每个浏览器缓存条目将由引用此用户控件所有页面共享(只要所有页面都用相同 ID 引用该控件即可)。...该特性有一个潜在用处 — 在后台刷新缓存数据,这样用户永远都不必等待数据被填充,但数据始终保持相对较新状态。...C# 中 "as" 运算符尝试将对象转换为类型,如果失败或该对象空,则只返回 null(空)。 持续时间存储在配置文件中。

1.6K20

.NET混合开发解决方案13 自定义WebView2中上下文菜单

系列目录     【已更新最新开发文章,点击查看详细】 WebView2控件应用详解系列博客 .NET桌面程序集成Web网页开发十种解决方案 .NET混合开发解决方案1 WebView2简介...或WPF窗体 Edge浏览器网页,点击鼠标右键,出现上下文菜单及子菜单,如下图 WebView2控件加载网页后,鼠标在网页上点击右键,也会出现上下文菜单,如下图 对比可以看出WebView2控件右键上下文菜单内容比...结合我博客《.NET混合开发解决方案2 WebView2与Edge浏览器区别》可知,WebView2控件中对于网页右键上下文菜单做了裁剪。...此枚举将始终表示导致上下文菜单请求活动元素。例如,如果有一个包含多个图像、音频和文本选择,最终用户在此选择中右键单击元素将是此枚举表示选项。 Audio  指示上下文菜单是音频元素创建。...CreateContextMenuItem() 方法中传递三个参数 1、菜单项名称。如果是分割线,则设置空字符串。 2、菜单项图标,是文件流对象。如果不设置,则赋值null

2.8K20

html Window与document区别

Window — 代表浏览器中一个打开窗口: 对象属性   window //窗口自身   window.self //引用本窗户window=window.self   window.name //...窗口命名   window.defaultStatus //设定窗户状态栏信息   window.location //URL地址,配备布置这个属性可以打开新页面 对象方法   window.alert...对象详解   window.history   window.screen   window.navigator   window.external   ————————————————– ——————...)   ————————————————– ——————-   window.external对象   window.external.AddFavorite(“地址”,”标题” ) //把网站新增到保藏夹...//浏览器应用程序名   window.navigator.appMinorVersion //浏览器补丁版本   window.navigator.cpuClass //cpu类型 x86   window.navigator.platform

1.1K20

HTML中window对象和document对象详解

Window — 代表浏览器中一个打开窗口: 对象属性   window //窗口自身   window.self //引用本窗户window=window.self   window.name...//窗口命名   window.defaultStatus //设定窗户状态栏信息   window.location //URL地址,配备布置这个属性可以打开新页面 对象方法   window.alert...//见document对象详解   window.history   window.screen   window.navigator   window.external   ———————...)   ————————————————– ——————-   window.external对象   window.external.AddFavorite(“地址”,”标题” ) //把网站新增到保藏夹...//浏览器应用程序名   window.navigator.appMinorVersion //浏览器补丁版本   window.navigator.cpuClass //cpu类型 x86

2.1K30

request.setAttribute和request.getAttribute还有session.setAttribute和session.getAttribute还有request.getPar

其实表单控件Object name与value是存放在一个哈希表中,所以在这里给出Objectname会到哈希表中找出对应它value。...("user"); 返回值null,为什么没有取到String "1234"?...拿一个例子来说一下吧,假如两个WEB页面间链接关系时,就是说要从1.jsp链接到2.jsp时,被链接是2.jsp可以通过getParameter()方法来获得请求参数....间转发关系时,转发目的WEB可以用getAttribute()方法来和转发源WEB共享request范围内数据,也还是说一个例子吧。...request.getSession()可以帮你得到HttpSession类型对象,通常称之为session对象,session对象作用域一次会话,通常浏览器不关闭,保存值就还再,当然也会出现session

2.7K30

MFC学习——如何在MFC对话框中添加一个显示网页窗口(用vs2017以下版本,vs2017不支持)

(用vs2017以下版本,vs2017不支持) 标题这个要用到 ActiveX 控件了,向对话框里面插入一个 WebBrowser控件,之后使用就可以了!...============================= 利用Web Browser控件创建自己浏览器 ①新建一个基于对话框工程,命名为test,然后在对话框上单击右键,选择 Insert...ActiveX Control…在弹出对话框中选择MicroSoft Web浏览器,点击OK。...此时对话框上已经出现了WebBrowser控件,调整它大小以适合对话框大小。 ②选择Web Browser控件,点击类向导,选择成员函数,单击 添加按钮,此时会弹出两个对话框,均点击确定即可。...③在成员函数中选择OnInitDialog()函数,在里面加入如下代码: m_ctrlWeb.Navigate(“http://www.baidu.com”, NULL, NULL, NULL, NULL

1.2K10

JavaFX WebView概述,很强大,内置了类似Electron功能

JavaFX WebView: JavaFX WebView  是一个微型浏览器(也称为嵌入式浏览器),它通过JavaFX  应用程序中API提供Web查看器和完整浏览功能  。...该浏览器基于  WebKit,这是一个开源Web浏览器引擎,支持HTML5,JavaScript,CSS,DOM渲染和SVG图形。 WebView类是Node类扩展。...在WebView对象上调用getEngine()方法将返回与其关联Web引擎。 构成嵌入式浏览器类位于javafx.scene.web包中。...要在LoadWorker帮助下跟踪加载进度: 加载始终发生在后台线程上。计划后台作业后,立即返回启动加载方法。...7.将   JavaScript值映射到Java对象: JavaScript值使用显而易见Java类表示:null变为Java null;布尔值变为java.lang.Boolean; 字符串变成java.lang.String

10.3K41

Asp.Net控件客户端命名

我们在用ASP.NET写出来网页,用浏览器来查看生成客户端代码时候经常看到这样代码:GridView1_ctl101_WebUserControl1_webuserControlButton,那么这个命名有什么规律...以一个Button例,用Reflector打开System.Web.dll,找到System.Web.UI.WebControls命名空间下面的Button类,我们可以发现该类继承至WebControl...这个类是继承了System.Web.UI.Control类,这个类是我们要研究重点,该类继承至System.Object类,这是所有类基类,我们就不去研究了,接下来我们来看看Control类。..., '_');         }         return uniqueID;     } } 也就是说ClientID就是将UniqueID中IdSeparator (其值:””)替换为”_..._occasionalFields.UniqueIDPrefix; } 这个函数返回父控件UniqueID+IdSeparator,如果父控件UniqueID空,那么就返回空。

2.5K10

移动跨平台技术方案深度解析

二、移动跨平台三个时代1、Web 容器时代Web 时代方案,主要采用是原生应用内嵌浏览器控件 WebView方式进行 HTML5 页面渲染,并定义 HTML5 与原生代码交互协议,将部分原生系统能力暴露给...但,一个完整 HTML5 页面的展示要经历浏览器控件加载、解析和渲染三大过程,性能消耗要比原生开发增加 N 个数量级。...泛Web容器时代解决方案优化了Web容器时代加载、解析和渲染这三大过程,把影响他们独立运行Web标准进行了裁剪,以相对简单方式支持了构建移动端页面必要Web标准;同时,这个时代解决方案基本上完全放弃了浏览器控件渲染...1、Web 跨端Web 跨端比较好理解,因为 Web 与生俱来就有跨端能力,因为只要有浏览器或 WebView,现在绝大多数端上(甚至包括封闭小程序生态)都支持 Webview,所以只要开发网页然后投放到多个端即可轻松跨平台...如果说小程序仍然是依靠 Web 技术运行,那为什么还要单独去使用小程序呢?就像前面所说到一样,Web 始终没法调用例如相机、蓝牙等这样权限,并且用户使用体验会收到一定影响。

1.1K30

腾讯云 Web 超级播放器开发实战

关于超级播放器 腾讯云 Web 超级播放器 TCPlayer 可实现在手机浏览器和 PC 浏览器上播放音视频流问题,功能强劲,兼容性好,可以不依赖用户安装 App,就能进行播放。...,控制一些样式和位置输出 2、realcoplayer h5 video 控件,用于结合腾讯 web 超级播放器使用 其关键属性说明如下: 序号 属性与设置 说明 1 autoplay="autoplay...使此视频支持iosAirPlay(隔空播放)功能,隔空播放能将各种 Apple 设备中音乐流传输到家中多个扬声器上,并让这些扬声器中播放旋律始终保持合拍, 让音乐荡漾在每个房间。...Fullscreen API 浏览器环境下,尝试使用浏览器提供 webkitEnterFullScreen 方法进行全屏,如果支持,将进入系统全屏,控件系统控件 10 playsinline bool...(3)实现代码中前端控件,只为演示实例使用,可根据需要改造符合自己开发规范。 感谢您阅读,希望本文能够对您有所帮助。

6810

浏览器平台:Internet Explorer 8

IE8新增了非常多特性来支持服务,IE8已经是一个在线服务平台,IE8插件或者说服务,都可以在线安装,插件也是Web。从本质上来说,IE8与前面版本或者说与所有其它浏览器都是不同。...从技术方面来说,IE8目标是为了提高Web开发效率,Web开发者提供一个标准,更适合Web应用一个平台,特别是对于越来越复杂页面,提供了更良好底层支持。...各个互联网公司不得不围绕IE开发各种新应用,采用新技术,新交互方式和新服务入口。     微软开发许多新API,特别是window.external里面新API。...IE8还有一个值得注意地方,就是在线安装,互联网服务可以通过点击来安装在IE上,以前扩展IE功能需要使用二进制插件,如今插件也是Web。通过Web来扩展Web浏览器功能。    ...这不亚于操作系统地位。微软希望站在Web技术前沿,控制Web技术方向和发展,IE8新特性将会极大促进Ajax技术发展和促进新Web技术产生。

98570

绕过磊科路由器登录密码

绕过磊科路由器验证方法   绕过方法其实很简单,简单到只是用浏览器就可以解决,方法是: 用浏览器打开磊科路由器登录页面,然后添加 Cookie ,Cookie netcore_login...,值 guest:1 ,然后刷新页面就可以进入路由器管理页面了。...(解决方法出处忘记了,感谢互联网中每位愿意分享网友)   我不知道这个漏洞影响该路由器多少版本,但是我试过之后的确可以进去。具体操作方法就不记录,浏览器 F12 就可以搞定了。...打开 VS 2012 创建一个 MFC 项目,然后在项目中放置一个 Microsoft Web Browser 控件,将控件关联一个变量,名为 m_webCtrl 。...); m_WebCtrl.Navigate(strRouteIp, NULL, NULL, NULL, NULL);   在 编辑框 中输入路由器 IP 地址,点击 按钮 即可进入路由器管理界面。

67131

1000多个项目中十大JavaScript错误以及如何避免

未定义通常是一个尚未分配变量,而 null 则表示该值空。要验证它们不相等,请使用严格相等运算符: [image.png] 常是一个尚未分配变量,而 null 则表示该值空。...对于相同逻辑错误,不同浏览器可能会有不同错误消息。 这是在 IE Web 应用程序中使用 JavaScript 命名空间出现一个常见问题。...因此,使用 JS 命名空间时最安全做法是:始终以实际名称空间作为前缀。...JavaScript 开发工具推荐 SpreadJS 纯前端表格控件是基于 HTML5 JavaScript 电子表格和网格功能控件,提供了完备公式引擎、排序、过滤、输入控件、数据可视化、Excel...结论 事实证明很多这些 null 或 undefined 错误是普遍存在。 一个类似于 Typescript 这样静态类型检查系统,当设置严格编译选项时,能够帮助开发者避免这些错误。

6.2K30

Application Session Cookie ViewState Cache Hidden 区别

; 2、Session生存期是用户持续请求时间加上一段时间(一般是20分钟左右); 3、Session信息是保存在Web服务器内存中,保存数据量可大可小; 4、Session超时或者被关闭将自动释放数据信息...; 2、我们可以存放非敏感用户信息,保存时间可以根据需要设置; 3、如果没有设置Cookie失效日期,它生命周期保存到关闭浏览器为止; 4、Cookie对象Expires属性设置MinValue...表示永不过期; 5、Cookie存储数据量受限制,大多数浏览器4K因此不要存放大数据; 6、由于并非所有的浏览器都支持Cookie,数据将以明文形式保存在客户端; 7、代码: Resopnse.Cookies...,有效期等于页面的生命周期; 2、可以保存大量数据但是要慎用,因为会影响程序性能; 3、所有的Web服务器控件都是用ViewState在页面PostBack期间保存状态; 4、不需要则关闭 @page...html类型服务器控件,要使用Runat=server,始终处于隐藏状态; 2、每一次提交时候它会和其他服务器控件一起提交到服务器端; 3、代码: Hidden.Value = "king";  /

80630
领券