私はこれが初めてなので、親切にしてください (;
Greasemonkey を使用して div レイヤーを追加しようとしていますが、正しく動作させることができません。
私の最終的な目標は、ユーザーが画面上にウィンドウを描画できるようにすること (または 2 回クリックすること) で、この領域以外のすべてがフェードアウトするようにすることです (暗い div レイヤーを追加)。
しかし、今のところ、すべてのサイトに可視レイヤーを追加したかっただけです。これが私の最初の試みです(まったく機能しませんでした):
var CSSNJE = '#Test_divnje {height:100px; width:100px; background-color:red;
position:absolute; top: 200px; left: 400px; z-index:2147483647}';
var CSSNJE = '<style type="text/css">'+ CSSNJE +'</style>';
document.write(CSSNJE);
var DIVNJE = '<DIV id="Test_divnje"></DIV>';
document.write(DIVNJE);
私はこのコードをグーグルで検索しましたが、これは一部のページでは機能しますが、多くは機能しません:
makeLayer('LYR1',400,250,100,100,'red',1,2147483647);
function makeLayer(id,L,T,W,H,bgColor,visible,zIndex) {
if (document.getElementById) {
if (document.getElementById(id)) {
alert ('Layer with this ID already exists!');
return;
}
var ST = 'position:absolute'
+'; left:'+L
+'; top:'+T
+'; width:'+W
+'; height:'+H
+'; clip:rect(0,'+W+','+H+',0)'
+'; visibility:'
+(null==visible || 1==visible ? 'visible':'hidden')
+(null==zIndex ? '' : '; z-index:'+zIndex)
+(null==bgColor ? '' : '; background-color:'+bgColor);
var LR = '<DIV id='+id+' style="'+ST+'"></DIV>'
if (document.body) {
if (document.body.insertAdjacentHTML)
document.body.insertAdjacentHTML("BeforeEnd",LR);
else if (document.createElement
&& document.body.appendChild) {
var newNode = document.createElement('div');
newNode.setAttribute('id',id);
newNode.setAttribute('style',ST);
document.body.appendChild(newNode);
}
}
}
}
最初にz-index
、div レイヤーが低すぎて、div レイヤーが可視レイヤーのすぐ後ろにあると考えました (そのため、現在インデックスが非常に高いのです)。しかし、より高いインデックスを使用しても効果はありませんでした。
position:fixed
これが役立つかもしれないと読んだので、私も使用しようとしましたが、そうではありませんでした。
機能するオーバーレイを作成するにはどうすればよいですか?