smalltalk,人如其名,短小精悍。提供的模拟对话框,其实就三个,alert/confirm/prompt。正好可以弥补electron的短板,可以说是物尽其用。其他的模拟对话框类代码,提供的功能一般可都是要远超这个的。所以,看您需求,是否需要更多的类对话框功能。如果仅仅是解决electron不支持prompt的问题的话,这个代码足以。

安装smalltalk代码

当然,传统网页里面也是能使用smalltalk的,而这种electron的最新容器里面也是ok的。smalltalkgithub上面的地址是:

对于下载到的代码,苏南大叔建议大家直接关注dist/目录的smalltalk.poly.min.jssmalltalk.min.css即可,至于其它的源码文件,如果你有兴趣,可以自行打开阅读看看。

苏南大叔:如何利用 smalltalk 弥补 electron 不支持 prompt 的问题 - smalltalk
如何利用 smalltalk 弥补 electron 不支持 prompt 的问题(图7-1)

还要注意img文件夹下面的还有2个图片,这两个图标并没有被base64css里面去,所以还要注意相对引用关系。

苏南大叔:如何利用 smalltalk 弥补 electron 不支持 prompt 的问题 - smalltalk
如何利用 smalltalk 弥补 electron 不支持 prompt 的问题(图7-2)

效果如下:

苏南大叔:如何利用 smalltalk 弥补 electron 不支持 prompt 的问题 - smalltalk
如何利用 smalltalk 弥补 electron 不支持 prompt 的问题(图7-3)

如果对于皮肤样式不满意的话,自己修改修改皮肤好了,反正divcss的事情,没有啥好难的。对吧?smalltalk官方自带的就这么一套皮肤~

和传统的alert/confirm/prompt对比

这里要特殊说明的是:这里模拟的alert/confirm/prompt和传统正派的alert/confirm/prompt相比:

  • smalltalk模拟的alert/confirm/prompt并不会阻塞js的执行,所以,如果有前后执行顺序的js逻辑千万要注意这点。
  • 获取smalltalk模拟的alert/confirm/prompt返回值的方式,是通过then()和·catch()`来获得的,和传统的返回值方式不一样。
  • 模拟smalltalk的传入的字符串参数是两个,而传统的则仅仅是一个字符串参数。区别就是smalltalk可以定义对话框的标题。

结论

本文的内容,能够以最小的代价解决electron不支持prompt的问题。但是smalltalk这个也不是最终答案,也不会是最优答案。

想知道更多更好的electron解决方案?欢迎关注:苏南大叔的更多electron精彩文章:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接作者。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

 【加群】加入QQ群【175454274】和大家一起讨论这个问题

 【源码】本文代码片段及相关软件,请点此获取

 【绝密】秘籍文章入口,仅传授于有缘之人   electron    smalltalk

本站的忠实读者小伙伴,正在阅读下面这些文章: