2013-04-24 47 views
11

Tôi đang cố gắng tải một href vào cửa sổ bật lên có kích thước cụ thể cũng nằm ở giữa màn hình.Mở liên kết trong Cửa sổ bật lên với Javascript

Đây là nguồn của tôi:

<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> 

Và đây là javascript của tôi:

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"); 
} 

Điều này dường như trở lại một lỗi 404 khi thử nghiệm. Tôi đang làm gì sai?

Cảm ơn đống.

+2

Bạn chưa gửi 'tham số url' đến' chức năng windowpop'. –

+0

'chức năng windowpop (url, chiều rộng, chiều cao)' Hàm đang mong bạn trả về một URL nhưng bạn chỉ trả lại chiều rộng và chiều cao. – Mal

+0

Điều này có thể bị đóng vì một lý do chính đáng, nhưng tôi thấy nó rất hữu ích. Tôi không biết về bất kỳ tham số bổ sung nào cho window.open. – jstaab

Trả lời

12

function windowpop(url, width, height) Hàm yêu cầu phải trả lại URL.

onclick="return windowpop(545, 433)" Bạn chỉ trả lại widthheight.

Hãy thử trở lại URL sử dụng this.href:

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

dụ:http://jsfiddle.net/zKKAM/1/

+2

Chỉ cần một lưu ý, tôi đã sử dụng phương pháp này, và hoạt động tốt nếu bạn không cho phép cửa sổ bật lên trên trình duyệt của bạn, tuy nhiên, nếu bạn làm như vậy, nó sẽ mở cửa sổ bật lên hai lần. Tôi đã giải quyết nó bằng cách thêm event.preventDefault(); khi nhấp vào liên kết và xóa trả lại từ đầu cửa sổ pop(). – madagalbiati

Các vấn đề liên quan