2013-04-24 17 views
11

画面の中心にある特定の次元のポップアップウィンドウにhrefをロードしようとしています。ここJavaScriptを使用したポップアップウィンドウのリンクを開く

<li> 
    <a class="sprite_stumbleupon" href="http://www.stumbleupon.com/submit?url=http://www.your_web_page_url" target="_blank" onclick="return windowpop(545, 433)"></a> 
</li> 

そして、私のjavascriptです:

function windowpop(url, width, height) { 
    var leftPosition, topPosition; 
    //Allow for borders. 
    leftPosition = (window.screen.width/2) - ((width/2) + 10); 
    //Allow for title and status bars. 
    topPosition = (window.screen.height/2) - ((height/2) + 50); 
    //Open the window. 
    window.open(url, "Window2", "status=no,height=" + height + ",width=" + width + ",resizable=yes,left=" + leftPosition + ",top=" + topPosition + ",screenX=" + leftPosition + ",screenY=" + topPosition + ",toolbar=no,menubar=no,scrollbars=no,location=no,directories=no"); 
} 

これは、試験したときに404エラーを返すようですが

は、ここに私のソースです。何が間違っているのですか?

ありがとうございました。

+2

あなたは 'windowpop'関数に' url'パラメータを送信していません。 –

+0

'function windowpop(url、width、height)'関数はURLを返すことを期待していますが、幅と高さだけを返しています。 – Mal

+0

これは正当な理由で閉鎖されているかもしれませんが、私はそれが役に立たないことがわかりました。私はwindow.openへの余分なパラメータについて知らなかった。 – jstaab

答えて

12

function windowpop(url, width, height)この関数には、URLを返す必要があります。

onclick="return windowpop(545, 433)"widthheightの返信のみです。

this.hrefを使用してURLを返して試してみてください。

onclick="return windowpop(this.href, 545, 433)" 

例:http://jsfiddle.net/zKKAM/1/

+2

私はこの方法を使っていましたが、ブラウザでポップアップを許可しないとうまくいきますが、そうするとポップアップが2回開きます。 event.preventDefault()を追加して解決しました。リンクをクリックすると、windowpop()の開始からの戻り値が取り除かれます。 – madagalbiati

関連する問題