javascriptのスクリプト中に、例えば
window.open()でブラウザの別窓[別ウィンドウ]を開くような部分が有っても、
ブラウザのポップアップブロック設定によって邪魔されて実現しないという場合に、
人間がブラウザ側の設定を変えてブロック解除することは簡単です。
さて
これを、
予めjavascriptのスクリプト中に、ブロック解除のための命令を書いておいて
人手を介さず、
スクリプトが実行されれば確実に(邪魔されず)別窓ポップアップが実現されるように
したいです。
javascriptのコーディングだけでそれは可能でしょうか?
なるべくjqueryとか使わず、javascriptだけでやりだいです。
欲を言えば、自分の作ったスクリプトが動くときだけ、ブロック解除するが
その後は、また、ポップアップブロックされるように
元通りにブラウザの設定を戻して終了するように書ければ
なお良いです。
ご教授のほど
よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
不可能なので代案
<a href target=_blank>別タブで開く。開いた window を focus すると更によし</a>
<form action target=_blank>
<input type=hidden name value>
<button type=submit>別タブに色々パラメーター付きで開く</button>
</form>
<button type=button id=xxxxx>疑似ポップアップ内に iframe を表示</button>
<script>
function makePopupListener(url){ return function(ev) {
function R(d,s){if(s) for (var i in s) d[i] = s[i]; return d}
function E(n,s){var e=document.createElement(n); if(typeof s=='string')e.appendChild(document.createTextNode(s)); if(typeof s=='object')R(e,s); return e}
var B = document.body, ST = document.documentElement.scrollTop;
var back = E('div'), pane = E('div');
R(back.style, {position:'absolute', top:'0px', left:'0px', width:'100%', height:'100%', backgroundColor:'black', opacity:'0.5'});
R(pane.style, {position:'absolute', top:'50%', left:'50%', width:'16em', marginLeft:'-8em', height:'10em', marginTop:'-5em', backgroundColor:'white', textAlign:'center', border:'thin solid black', zIndex:'1'});
var cont = pane.appendChild(E('iframe',{src:url}));
R(cont.style, {width:'15em', height:'6em'});
var okey = pane.appendChild(E('p')).appendChild(E('button',{textContent:'OK',type:'button'}));
okey.addEventListener('click',function(ev){window.scrollTo(0,ST); B.removeChild(back), B.removeChild(pane); ev.target.removeEventListener(arguments.callee)},false);
B.appendChild(back), B.appendChild(pane);
okey.focus();
window.scrollTo(0,0);
}}
window.addEventListener('DOMContentLoaded',function(){ document.getElementById('xxxxx').addEventListener('click', makePopupListener('http://www.example.com/'), false)},false);
</script>
素直にライブラリを使う
https://www.google.co.jp/search?q=lightbox
https://www.google.co.jp/search?q=floating+popup
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux redmineにメールを飛ばす方法 1 2022/09/13 22:02
- その他(ブラウザ) 特定ウェブサイトをブロックする方法 1 2022/08/15 12:30
- その他(ブラウザ) 最近、いろいろなブラウザでログインができません。 2 2022/03/29 00:04
- InternetExplorer(IE) 既定のブラウザーを変更した場合、付随して処理が必要なことはありますか? 2 2022/03/25 16:04
- JavaScript 空白で入力フォームのボタンをクリックしたら、ブラウザの上部からjavascriptで 表示されるアラ 1 2022/05/20 11:16
- その他(プログラミング・Web制作) bashのgrepで複数の検索、かつスクリプト内で改行する方法を教えてください。 1 2022/10/06 20:09
- Chrome(クローム) Cookieを削除 他サイトでの自動ログインなどの設定も削除されますか パソコン クロームです 1 2022/09/10 21:47
- その他(ブラウザ) ブラウザでの音量(YouTubeなどの視聴)が自動的に下がってしまう。(できれば直したいです。) 2 2023/07/15 08:52
- その他(セキュリティ) PCのセキュリティーについての質問になります。 会社の共有ノートパソコンで仕事中にインターネットサー 5 2022/08/16 13:03
- HTML・CSS Chrome のキャッシュについて 3 2022/05/26 07:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
<a>タグのテキストを取得
-
HTML:Tableタグに対し、JavaScr...
-
【jQuery】クリックで開閉する...
-
[初心者]javascriptのfor文でな...
-
モーダルダイアログウィンドウ...
-
DOMMouseScrollを使って特定のI...
-
【Tabキー】特定の範囲内だけで...
-
innerHTML実行後のイベント
-
C#テキストボックスの文字を配...
-
同じIDで定義した要素の配列を...
-
同じ型【ハイフンと数字】だけ...
-
関数でy=g(x)のgとは何の略です...
-
ボタンをクリックすると数が増...
-
二次元配列の全要素の全要素を...
-
URLのパラメータを取得しリンク...
-
Excel VBA の ChangeFileAccess
-
idを使わずにonclickで自身の要...
-
getElementByIdを使用したグロ...
-
javascript 変数名の連結をしたい
-
React hooksが値を返して配列変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<a>タグのテキストを取得
-
[初心者]javascriptのfor文でな...
-
ActiveXobjectが作成できない
-
任意の座標をクリックさせるには
-
appendChildがieだとできない??
-
onchangeイベントを使ってspan...
-
【Tabキー】特定の範囲内だけで...
-
モーダルダイアログウィンドウ...
-
javascript 特定のタグのidの存...
-
日本語入力の禁止
-
innerHTML実行後のイベント
-
HTML:Tableタグに対し、JavaScr...
-
onclickを使わずにイベント処理...
-
アンカークリックのイベントを...
-
javascriptでスロットゲームを...
-
画像上のクリックした場所が分...
-
javascriptでCSVを呼出しvlookup
-
javascriptで編集可能不可能の...
-
Click回数を数え、規定された回...
-
子画面からwindow.openを開いた...
おすすめ情報