首页
学习
活动
专区
工具
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事件就好了。...我可以随意的控制他,让他做我想做的事情 二:Button的BindClickEvent方法 第一:这个方法接收一个类型为Action类型的参数,Action其实就是一个委托...,只说2点: 1、JS要通过window.external调用C#里的方法 2、要把浏览器的ObjectForScripting设置给一个对象,这个对象必须是ComVisible的 第二: 所有的按钮,

    1.5K90

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

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

    2.7K100

    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。

    3K20

    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.4K30

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

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

    2.8K30

    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.3K10

    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

    12K41

    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

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

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

    21510

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

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

    1.2K30

    浏览器平台: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技术的产生。

    1K70

    绕过磊科路由器登录密码

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

    72131

    退出屏保前玩一把游戏吧!webBrowser中网页如何调用.NET方法

    这段代码的核心是 window.external 对象,它允许 JavaScript 访问 .NET 对象。...web 调用: [ComVisible(true)] public class JavaScriptInteraction { public void ExecuteExitSrc()...最后,需要在 webBrowser 控件的 ObjectForScripting 属性中设置一个 .NET 对象,这个对象将用于被 JavaScript 调用: webB.ObjectForScripting...新的功能提供了更多的可玩性,用户可以根据自己的喜好设计各种有意思的屏保,这样也是满足了输入密码退出这个功能的实现基础。...此外,这些方案还可以根据用户的喜好和需求进行定制和扩展,为用户带来更丰富的屏保体验。 同时,我还在更新中提供了一个经典的 2048 小游戏,要求玩家在赢得游戏后才能退出屏保。

    23410

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

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

    6.2K30
    领券