1

リンクを新しいタブで開くには、次のようにします。

<a href="#" target="_blank">open in new tab</a>

しかし、どうすれば新しいウィンドウで開くことができますか?

だから、この問題を克服するために私を助けてください。

4

7 に答える 7

1

これは理論上は機能しますが、ブラウザの設定によって異なります。最近では、div とレイヤーを使用して新しいウィンドウを偽装できます。背後にあるものを隠すレイヤーを実装する方法はありますか。

JavaScript:

function getElementsByClass( searchClass, domNode, tagName) { 
    if (domNode == null) domNode = document;
    if (tagName == null) tagName = '*';
    var el = new Array();
    var tags = domNode.getElementsByTagName(tagName);
    var tcl = " "+searchClass+" ";
    for(i=0,j=0; i<tags.length; i++) { 
    var test = " " + tags[i].className + " ";
    if (test.indexOf(tcl) != -1) 
        el[j++] = tags[i];
} 
return el;
}
// paste getElementsByClass function (see above) here 

function showtab(tabname) 
{ 
// hide every element with class 'box1'  
var tabs = getElementsByClass('box1');
for(i=0; i<tabs.length; i++) {
    tabs[i].style.display = 'none';
    //tabs[i].style.visibility = 'hidden';
}
// hide every element with class 'box1'      
var tabs2 = getElementsByClass('myStyle');
for(i=0; i<tabs2.length; i++) {
    tabs2[i].style.display = 'none';
    //tabs2[i].style.visibility = 'hidden';
}

document.getElementById(tabname).style.display='block';
//document.getElementById(tabname).style.visibility='visible';
// show element with given tabname 
} 

function showsubtab(tabname)
{
//hide every element with class 'myStyle'
var tabs = getElementsByClass('myStyle');
for(i=0; i<tabs.length; i++) {
    tabs[i].style.display = 'none';
    //tabs[i].style.visibility = 'hidden';
}
document.getElementById(tabname).style.display='block';
//document.getElementById(tabname).style.visibility='visible';
}

if (window.addEventListener) { // Mozilla, Netscape, Firefox
window.addEventListener('load', showmessage, false);
} else if (window.attachEvent) { // IE
window.attachEvent('onload', showmessage);
}

function showmessage() {
document.getElementById('box').style.display='block';
document.getElementById('div1').style.backgroundColor='grey';
document.getElementById('div1').style.opacity = 0.2;
document.documentElement.style.overflow = "hidden"; //firefox, chrome
document.body.scroll = "no"; // ie only
var bodyLayer = document.getElementById('div1');
DisableLinks(bodyLayer);
}
function hidemessage() {
document.getElementById('box').style.display='none';
document.getElementById('div1').style.backgroundColor='transparent';
document.getElementById('div1').style.opacity = 1.0;
document.documentElement.style.overflow = 'auto';  // firefox, chrome
    document.body.scroll = "yes"; // ie only
var bodyLayer = document.getElementById('div1');
EnableLinks(bodyLayer);
}

function DisableLinks(dom) {
if(undefined != dom){
    links=dom.getElementsByTagName('A');
} else {
    links=document.getElementsByTagName('A');
}

for(var i=0; i<links.length; i++) {
    links[i].style.pointerEvents="none";
}
}

function EnableLinks(dom) {
if(undefined != dom){
    links=dom.getElementsByTagName('A');
} else {
    links=document.getElementsByTagName('A');
}

for(var i=0; i<links.length; i++) {
    links[i].style.pointerEvents="auto";
}
}

HTML

<div id="box">
<section id="close">
<section id="title">Important Site Message</section>
<section id="button"><a href="#" onClick="hidemessage();">[X]</a>&nbsp;</section>
</section>
<!--Body of the Message-->
</div>

CSS #box {位置: 絶対; 上: 50%; 左: 50%; 高さ: 15.625em; 幅: 25em; 背景色:#FFF; マージントップ: -7.8125em; margin-left: -12.5em; 表示: なし; オーバーフロー: 自動; ボーダーカラー:#000; ボーダースタイル:リッジ; ボーダー幅:中; Z インデックス: 3; color: #000;} #close {border-bottom: 太いインセット #CCC; 背景色: #000; 幅: 継承; 高さ: 1.2em; 色: #FFF; position: fixed;} #close a:visited {color: #FFF;} #close a:hover {color: red;} text-decoration:none;} #close #title {text-align: center;} font-weight:太字; 幅: 90%; パディング: 1 1 1 1; クリア: 左; フロート: 左; 背景色:#000; color:#FFF;} #close #button {text-align: right; パディング: 1 1 1 1; 幅: 10%; クリア: 右; フロート: 右; 背景色: #000; 色: #FFF;}

于 2013-10-28T12:15:40.407 に答える
1

これを試して:

<a href="#nul" onclick="window.open('newLink.html ','','Toolbar=1,Location=0,Directories=0,Status=0,Menubar=0,Scrollbars=0,Resizable=0,Width=550,Height=400');">Name</A>
于 2013-10-28T22:20:31.853 に答える
0
<script>
function openWin()
{
myWindow=window.open('','','width=200,height=100');
myWindow.document.write("<p>This is 'myWindow'</p>");
myWindow.focus();
}
</script>

詳しくはこちら

于 2013-10-28T11:49:05.190 に答える