Electronで作業中に使えるアプリを作っていたら残像が残った話


症状

displayをnoneとした要素の影がついたままになって残像が残ってしまっていた(Macのみの症状)

dom.style.display="none";

としましたが、


↓dislpay:none;

残像が残っている!

これは困りましたね(困惑)

調べてみるとすぐに解決できました。

解決方法

win = new BrowserWindow({
 width: 1000,
 height:880,
 transparent:true,//ウィンドウ背景を透過
 alwaysOnTop:true,//常に最前面
 hasShadow:false,//残像が残らないようにする
 frame:false,//枠の無いウィンドウ
 webPreferences: {nodeIntegration: true}//nodeの機能つかうよ});

WindowオブジェクトのhasShadowというプロパティがデフォルトでtrueになっているのが原因で残像が現れています。
falseにすると残像がなくなります。やったね。
調べてみると、Macのみ存在するプロパティみたいです。