首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >C++中的跨浏览器扩展开发

C++中的跨浏览器扩展开发
EN

Stack Overflow用户
提问于 2010-09-16 16:22:34
回答 2查看 3.9K关注 0票数 14

我开始研究浏览器扩展,由于扩展的性质,我需要在C++中开发它。我目前正在使用Firefox,但是我希望我的代码可以跨浏览器移植。首先,我是否可以使用一个库或接口(如NPAPI)来确保扩展?我需要担心的是什么?

我不使用XPCOM,而是用C++编写功能,这样我就可以编译每个平台的库,并将其与每个浏览器的扩展捆绑在一起。对于Firefox,我使用XUL来为我的扩展开发JS包装器,一个IDL文件为我生成c++接口。我能做点更好的事吗?我只想确保我不会走错路。

编辑:也请建议是否有一个更好的论坛,这类问题。

EN

回答 2

Stack Overflow用户

发布于 2010-09-25 20:03:59

我的背景:几年前,我在一个跨平台、跨浏览器的NPAPI插件上工作,该插件使用OpenGL进行图像绘制。从那以后,我一直在关注这个空间,但这不是我现在所做的。我为Firefox编写了非插件扩展,但没有为Safari或Chrome编写。

这在很大程度上取决于您希望扩展做什么,以及您希望呈现什么样的用户界面。不同的浏览器对于扩展可能做什么和不做什么有不同的想法。

如果您只想以自定义格式显示图像或视频,那么NPAPI可能是您的最佳选择。NPAPI基本上是本机平台API的薄包装器。因此,跨平台的NPAPI代码必须处理不同的平台怪癖,以及浏览器对NPAPI的不同级别的支持。Google有一个名为Pepper的项目来解决NPAPI的一些问题,但是除了Chrome之外,Pepper还没有任何浏览器的支持。

Google的本地客户端项目为运行本机代码提供了NPAPI的替代方案,但它对本机代码施加了限制。例如,线程是允许的,但网络访问是不允许的。有一个名为NaCL的子项目,它似乎解决了您所寻求的那种HTML/JS +本机代码集成。不幸的是,它仍然处于设计阶段,因此对于今天编写扩展并没有多大帮助。

我的理解是,目前,与浏览器UI集成并与本机代码集成的跨浏览器扩展是不可行的。Safari和Chrome都比Firefox更严格地限制扩展,并且只允许用JavaScript编写扩展。我不知道是否可以在Safari或Chrome中扩展与用NPAPI编写的浏览器插件交互。我猜这要么是不可能的要么是难以置信的痛苦。

总之,如果您仔细限制要针对哪些浏览器和平台,您会发现生活要简单得多。确切地说,选择哪种浏览器和平台是由您自己决定的。

票数 4
EN

Stack Overflow用户

发布于 2011-03-16 23:41:11

不是很多人知道它,但是是的,您可以使用Qt编写跨浏览器插件。:-)

您可以只为此使用QtBrowserPlugin

QtBrowserPlugin解决方案便于编写浏览器插件,可以在Mozilla FireFox、Safari、Opera、Google、QtWebKit和任何其他支持"Netscape插件API“的web浏览器中使用。

QtBrowserPlugin是Qt解决方案包的一部分。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3731872

复制
相关文章
使用 Houdini 扩展 CSS 的跨浏览器绘制能力
CSS Houdini 是一个总称,它描述了一系列底层的浏览器 API,这些 API 为开发者提供了对编写的样式更强大的能力。
ConardLi
2021/09/08
8280
使用 Houdini 扩展 CSS 的跨浏览器绘制能力
C++ 中的可移植性和跨平台开发
可移植性是指程序在不同的系统上能够正确地运行,而不需要进行任何修改。C++是一种高度可移植的编程语言,因为它在不同的操作系统和硬件平台上都可以运行。但是,不同的操作系统和硬件平台具有不同的特性和限制,因此需要遵循一些规则来确保程序的可移植性。
小万哥
2023/05/14
8380
C++ 中的可移植性和跨平台开发
谷歌浏览器扩展程序开发
先说为何要学这个,我们公司部署项目的时候有一个选择按钮,每次都得选中才能提交!于是就。。。 直接上代码! 配置文件:manifest.json { "name": "选中页面复选框", "version": "1.0.0", "manifest_version": 2, "description": "选中页面当中的复选框", "permissions" : ["tabs","http://*/"], "icons": {
苦咖啡
2018/05/08
1K0
Chrome扩展开发,跨域请求API
这次问题是从Btools更换获取数据方式开始的,因为B站收藏夹在前台页面返回的数据中删除了失效视频的封面和标题,导致原来的程序无法获取视频信息。
imba久期
2022/09/23
3.2K0
Chrome扩展开发,跨域请求API
浏览器中跨域创建cookie的问题
  当我们在www.a.com这个域下用ajax提交一个请求到www.b.com这个域的时候,默认情况下,浏览器是不允许的,因为违反了浏览器的同源策略。解决方案可以参考笔者的这篇博文:http://www.cnblogs.com/anai/p/4227157.html
程序员一一涤生
2019/09/10
9920
浏览器中的跨域问题与 CORS
跨域,这或许是前端面试中最常碰到的问题了,大概因为跨域问题是浏览器环境中的特有问题,而且随处可见,如同蚊子不仅盯你肉而且处处围着你转让你心烦。「你看,在服务器发起 HTTP 请求就不会有跨域问题的」。
山月
2020/09/08
1.4K0
在浏览器扩展程序中进行: 跨域 XMLHttpRequest 请求
跨域 XMLHttpRequest 请求 https://crxdoc-zh.appspot.com/extensions/xhr
一个会写诗的程序员
2018/12/18
1.2K0
浏览器中的跨域问题与 CORS
跨域,这或许是前端面试中最常碰到的问题了,大概因为跨域问题是浏览器环境中的特有问题,而且随处可见,如同蚊子不仅盯你肉而且处处围着你转让你心烦。「你看,在服务器发起 HTTP 请求就不会有跨域问题的」。
夜尽天明
2020/09/08
1.5K0
web开发人员必备的浏览器扩展
chrome浏览器成为最受欢迎的浏览器不仅因为它的简洁和速度,更多地是因为它为Web开发人员提供了构建强大应用程序的出色工具。开发人员可以从各种出色的浏览器扩展中进行选择,通过这些扩展软件,可以大大帮助软件工程师提高生产力,更快地开发应用程序或查找错误。
程序那些事儿
2023/03/07
5090
web开发人员必备的浏览器扩展
浏览器扩展开发系列教程(一)
以谷歌内核的浏览器扩展,包括 edge chrome ,还有我们常用的国产浏览器都能使用
唯一Chat
2022/11/22
4470
浏览器扩展开发系列教程(一)
浏览器跨域
完整高频题库仓库地址:https://github.com/hzfe/awesome-interview
HZFEStudio
2021/09/12
3400
浏览器常用扩展
name desc Wappalyzer 网站技术架构分析,分析目标网站所采用的平台构架、网站环境、服务器配置环境、JavaScript框架、编程语言等参数 User-Agent Switcher and Manager User-Agent 管理 EditThisCookie Cookie 管理 QR Code Generator QR Code Tampermonkey 用户脚本管理器 greasyfork SwitchyOmega 代理设置工具 Vimum 使用vim键位操作浏览器 Video Do
Spaceack
2020/11/04
1.3K0
如何用浏览器看雪?Chrome扩展开发
朋友圈都在晒下雪,今天,MixLab 教大家如何在屏幕上看雪。 使用 chrome 的扩展,注入下雪的代码到任意网页,如下图: 如何实现的? chrome 扩展主要的文件是 manifest.jso
mixlab
2018/04/17
9180
如何用浏览器看雪?Chrome扩展开发
iOS开发中简单的图片浏览器
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/53010697
用户1451823
2018/09/13
1.1K0
C++模板扩展
第一个参数是类型,决定数组的类型,第二个是非类型,决定数组的容量。 这个容器可以对于数组下标是否越界进行检查,而C语言当中的数组是进行抽查。
有礼貌的灰绅士
2023/03/28
4410
C++模板扩展
servlet解决浏览器的跨域
在做一些web请求时,会涉及到很麻烦的浏览器跨域问题,因此,一般都会通过后台处理再给前台。本文讲述通过servlet解决浏览器的跨域问题。
牛老师讲GIS
2018/10/23
1.4K0
浏览器扩展程序安装指南在哪_360浏览器扩展在哪里
按规矩讲扩展程序应该在浏览器的应用商店里下载,但是考虑到身在墙国访问谷歌的应用商店可能不太方便,所以这里采用离线加载的方式提供给大家。
全栈程序员站长
2022/11/08
6220
浏览器扩展程序安装指南在哪_360浏览器扩展在哪里
点击加载更多

相似问题

跨浏览器扩展开发方案

45

跨浏览器扩展开发框架

23

跨浏览器开发

82

跨浏览器扩展

10

跨浏览器扩展开发和外部网站:最佳做法

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文