EarlgreyTea さんが書きました:
closetest.html をローカルに作成したとして、起動している Firefox にドロップして開いた場合と、ファイルをダブルクリックして開いた状態で Firefox を起動した場合の挙動をみてほしいです。
有難う御座います。盲点でしたが挙動が一部変化しまして、そこからある種特定ができました。
現象 : 完全に新規なタブ(※)に window.close を含むページを開くと、その実行が許可されて閉じてしまう
・ブックマーク、リンクなどで新規のタブに開いた場合
・オプションでホームを空白ページにしている時の新規タブ
環境 : Firefox Browser 79.0 ( + Windows 10 )
ローカルフォルダに作成した closetest.html を
Firefox が起動していない状態でダブルクリックして開いた場合 : 閉じる
Firefox を新規に起動した状態で
・空白タブにドロップして開いた場合 : 閉じる
・タブバー余白にドロップして新規にタブを開かせた場合 : 閉じる
・別のサイトを表示している状況にドロップしてページを切り替えた場合 :
閉じない(!)つまり自分はホームを「空白ページ」に設定しておりまして、これが標準の Firefox Home だった場合
・新規タブにドロップして開いた場合 :
閉じない ( Firefox Home も別のページという扱いの模様 )
・タブバー余白にドロップして新規にタブを開かせた場合 : 閉じる
という挙動になりました。ブックマークツールバーから開いた場合も同様に、
・開くタブが空白ページならば閉じる
・他のページ(Firefox Homeを含む)であれば閉じない
・当然、ブックマークを新規タブで開くと閉じる
となりました。
環境 2 : Firefox Browser 78.0.2 ( + Windows 7 )
上記の挙動に対して、
全て閉じないとなります。
EarlgreyTea さんが書きました:
スクリプトですが、親ウインドウから子ウインドウを開いてそれをクローズする方がいいと思います。
closetest.html を開く元 html を作成。 ( 例:closetestparent.html )
コード:
<html><body><button onClick="window.open('closetest.html','_blank')">open closetest page</button></body></html>
この場合 79.0 / 78.0.2 いずれにおいても closetest.html のタブは閉じます。
※ この挙動は承知しています。 ( script によって開けられたタブは script にて閉じる事が許可されている )
実際の判明した切っ掛けは
・ブックマーク登録しているサイトのスクリプトに window.close があり、ブックマークより参照した場合にウィンドウが閉じられてしまう
事でした。( この挙動は一旦別のページを表示したタブにおいて開くことで対処はできそうです。 )
ただ dom.allow_scripts_to_close_windows があっての挙動としては疑問符が付くところです。
[quote="EarlgreyTea"]closetest.html をローカルに作成したとして、起動している Firefox にドロップして開いた場合と、ファイルをダブルクリックして開いた状態で Firefox を起動した場合の挙動をみてほしいです。[/quote]
有難う御座います。盲点でしたが挙動が一部変化しまして、そこからある種特定ができました。
現象 : 完全に新規なタブ(※)に window.close を含むページを開くと、その実行が許可されて閉じてしまう
・ブックマーク、リンクなどで新規のタブに開いた場合
・オプションでホームを空白ページにしている時の新規タブ
環境 : Firefox Browser 79.0 ( + Windows 10 )
ローカルフォルダに作成した closetest.html を
Firefox が起動していない状態でダブルクリックして開いた場合 : 閉じる
Firefox を新規に起動した状態で
・空白タブにドロップして開いた場合 : 閉じる
・タブバー余白にドロップして新規にタブを開かせた場合 : 閉じる
・別のサイトを表示している状況にドロップしてページを切り替えた場合 : [b]閉じない(!)[/b]
つまり自分はホームを「空白ページ」に設定しておりまして、これが標準の Firefox Home だった場合
・新規タブにドロップして開いた場合 : [b]閉じない[/b] ( Firefox Home も別のページという扱いの模様 )
・タブバー余白にドロップして新規にタブを開かせた場合 : 閉じる
という挙動になりました。ブックマークツールバーから開いた場合も同様に、
・開くタブが空白ページならば閉じる
・他のページ(Firefox Homeを含む)であれば閉じない
・当然、ブックマークを新規タブで開くと閉じる
となりました。
環境 2 : Firefox Browser 78.0.2 ( + Windows 7 )
上記の挙動に対して、[b]全て閉じない[/b]となります。
[quote="EarlgreyTea"]スクリプトですが、親ウインドウから子ウインドウを開いてそれをクローズする方がいいと思います。[/quote]
closetest.html を開く元 html を作成。 ( 例:closetestparent.html )
[code]<html><body><button onClick="window.open('closetest.html','_blank')">open closetest page</button></body></html>[/code]
この場合 79.0 / 78.0.2 いずれにおいても closetest.html のタブは閉じます。
※ この挙動は承知しています。 ( script によって開けられたタブは script にて閉じる事が許可されている )
実際の判明した切っ掛けは
・ブックマーク登録しているサイトのスクリプトに window.close があり、ブックマークより参照した場合にウィンドウが閉じられてしまう
事でした。( この挙動は一旦別のページを表示したタブにおいて開くことで対処はできそうです。 )
ただ dom.allow_scripts_to_close_windows があっての挙動としては疑問符が付くところです。