专栏首页24K纯开源在Adobe Html5 Extension的使用Nodejs的问题

在Adobe Html5 Extension的使用Nodejs的问题

前情回顾

    之前为一个客户开发过一个基于Adobe Premiere的Html5扩展。原本是在Adobe Premiere Pro 2015下面进行调试开发的。一切进展的非常顺利,功能也都正常。但是2015版本内嵌的chrome浏览器内核有点老旧,很多页面样式在2015里面都不正常,所以这段时间从2015迁移到2017进行开发。哪知道迁移之后的第一步就报错了。插件中使用到了Nodejs来进行一些文件操作,初始化的第一步就报错:uncaught reference error: require is not define. 这就奇怪了,2015版中运行的好好的程序为啥到了2017就不行了呢?按照Adobe官方的文档,2015版支持了Nodejs的API,没道理2017不支持了啊。只可能支持度更完整才对啊。冥思苦想了半天,实在想不出是为啥。参考了下pond5和shutterstock的插件实现,他们都有用到Nodejs的模块,而且在2015及以上的版本中都能正常运行啊。难道都做了什么额外的我没有发现的操作?

    按照这个思路,把Pond5的插件页面翻了个底朝天,出了一个build.js有点联系之外,其他的代码没有任何和nodejs相干的。这下更加纳闷了,为啥它们可以正常运行?按照官方文档以及网络上对Nodejs功能的讨论,要启用Nodejs需要在manifest.xml中配置两个标签:

<CEFCommandLine>
  <Parameter>--enable-nodejs</Parameter>
  <Parameter>--mixed-context</Parameter>
</CEFCommandLine>

   毫无疑问,这个肯定是加了的。在开发之初我就配置好了这些东西的。没有道理去怀疑这个配置文件的正确性。无奈中又把Adobe官方发布的Sample工程下载来跑了下,Nodejs模块也都正常运行!这就奇了个葩了,肯定是工程配置哪里不对!

解决方案

   于是重点来检查manifest.xml文件。在反复的核对与修改之后,我发现我的manifest.xml文件与其他的工程都有点不同,我的文件结构关键部分如下:

<Resources>
	<MainPath>./index.html</MainPath>
	<ScriptPath>./jsx/MokaBridge.jsx</ScriptPath>
</Resources>
<CEFCommandLine>
	<Parameter>--allow-file-access</Parameter>
	<Parameter>--allow-file-access-from-files</Parameter>
	<Parameter>--enable-nodejs</Parameter>
	<Parameter>--mixed-context</Parameter>
	<Parameter>--disable-application-cache</Parameter>
</CEFCommandLine>

 而所有正常的工程,他们的配置如下:

<Resources>
	<MainPath>./index.html</MainPath>
	<ScriptPath>./jsx/MokaBridge.jsx</ScriptPath>
	<CEFCommandLine>
		<Parameter>--allow-file-access</Parameter>
		<Parameter>--allow-file-access-from-files</Parameter>
		<Parameter>--enable-nodejs</Parameter>
		<Parameter>--mixed-context</Parameter>
		<Parameter>--disable-application-cache</Parameter>
	</CEFCommandLine>
</Resources>

  就这么点区别。与是马上修改一验证,还真的是这个问题!!! 可是为啥在2015版本中能良好的运行啊?坑了个爹的,害我白白花了半天时间。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 未来是 HTML 5 还是 Flash 的时代?

    我是攻城师
  • 软件推荐

    前端GoGoGo
  • Adobe 宣布放弃 Flash,视频播放将进入 HTML5 时代

    今天,Adobe 宣布,计划终结 Flash,在2020年会停止开发和分发这款浏览器插件,并建议内容创作者将 Flash 内容移植到 HTML5、WebGL 以...

    疯狂的技术宅
  • Flash Player的终章——赠予它的挽歌

    12月28日消息,微软已经确认Windows 10在下一次更新时将自动删除Flash Player,这意味着Flash Player将正式成为历史。

    葡萄城控件
  • 中国特供版Flash:死期将至,何以再掀波澜

    没想到,在正式宣布其“死刑”之后一年,Flash 在国内却以这样一种方式成为热议话题。Adobe 近期与国内一家公司达成合作,为国内用户提供特供版Flash,并...

    FB客服
  • Flash EOL 将至,WebAssembly 来“续命”

    Adobe 将在 2020 年 12 月 31 日之后停止发布和更新 Flash Player。然而,多年来累积下来的大量 Flash 内容并没有完全消失。网络...

    深度学习与Python
  • Adobe Flash Player 生命周期终止对Oracle数据库的影响

    Adobe公司宣布在2020年12月31日之后不再支持Flash Player,并且从2021年1月12日开始禁止Flash内容在Flash Player中运行...

    SQLplusDB
  • 雪妖现世:给SAP Fiori Launchpad增添雪花纷飞的效果

    1995年7月,台湾大宇公司发布了一款国产单机角色扮演游戏神作:《仙剑奇侠传1》,所谓“一包烟,一杯茶”,就能在电脑面前坐一整天。

    Jerry Wang
  • 火狐浏览器已默认禁用Flash:用户仍可手动开启

    我是攻城师
  • 细数那些年我用过的前端开发工具

    王小婷
  • 从代码层面解决chrome不支持flash的方案

    现在 Google 也推出了 Swiffy,免费把 SWF 格式转换为 HTML5 代码。

    jerryteng
  • 2016,NodeJS干货来袭

    HTML5学堂:随着时代的发展,JS的地位已经越来越高,NodeJS也是从萌芽开始,茁壮成长~这篇文章我们主要借助weinre这个NodeJS工具,讲解Node...

    HTML5学堂
  • 推荐30款最佳的数据可视化工具

    各个互联网公司通过大量的用户数据、信息进行统计分析,而这些大量繁杂的数据在经过可视化工具处理后,就能以图形化的形式展现在用户面前,清晰直观。随着各种数据...

    小莹莹
  • 历时八年 HTML5标准终于制定完成

    HTML5是如今最先进的WEB开发技术,虽然已经沿用了多年,但是HTML5的技术标准,其实上并未明确制定完成。日前,互联网权威技术组织万维网联盟(W3C)正式...

    腾讯研究院
  • 转:Flash 插件面板 DragonBonesDesignPanel 的绿色安装方法

    用户1258909
  • SAP Commerce Extension的Web应用启动问题

    以yacceleratorstorefront为例,url:https://localhost:9002/yacceleratorstorefront?site...

    Jerry Wang
  • Flash之后是不是该IE浏览器了

    Adoebe官方网站发布了公告,2020年12月30日起终止支援Flash。目前Chrome、Edge等浏览器都会有提醒。用户默认不开启Flash,如果页面视频...

    八哥
  • 未来的移动互联网将由超级App+WebApp主宰

    自 W3C 于 1999 年发布 HTML4 后,Web 世界快速发展,一片繁荣。人们一度认为 HTML 标准不需要升级了。一些致力于发展 Web App 的公...

    用户5997198
  • 带alpha透明通道视频—网页播放带alpha通道视频叠加合成方案

    带alpha通道的图片有GIF和PNG,但是GIF只有8位,失真严重,边缘锯齿非常明显。

    周陆军

扫码关注云+社区

领取腾讯云代金券