2013-02-05 63 views
5

Tôi đã bật cửa sổ bật lên mà tôi đang mở bằng kịch bản bên dưới. Trên mỗi nhấp chuột, tôi muốn mở cửa sổ bật lên mới. Tôi hiểu, có tên duy nhất cho cửa sổ sẽ giải quyết vấn đề (Trong trường hợp này là "SampleWindow"). Cách tốt nhất để duy trì tính duy nhất của cửa sổ là gì? Có cách nào khác để quản lý cửa sổ bật lên javascript không?cửa sổ bật lên mới trên mỗi nhấp chuột

window.open(url, 'SampleWindow', 'WIDTH=300,HEIGHT=250'); 
+1

Một trong các câu trả lời dưới 3 sẽ làm việc. Đó là sở thích. –

Trả lời

6

Đi qua một giá trị của _blank tới tham số name sẽ được tải thông qua URL vào một cửa sổ mới. Như thế này:

window.open(url, '_blank', 'width=300,height=250'); 

Các tùy chọn khác cho name tham số (không bắt buộc ) bao gồm:

  • _blank - URL được nạp vào một cửa sổ mới. Đây là mặc định
  • _parent - URL được nạp vào khung mẹ
  • _self - URL thay thế trang hiện
  • _top - URL thay thế bất kỳ phần khung mà bạn có thể tải
  • name-Tên của cửa sổ

Do lưu ý rằng nếu bạn sẽ được đi qua JavaScript này để một thẻ neo A mà các trình duyệt IE mong đợi một giá trị trả về, nếu không nó sẽ liệu tham khảo thẻ A bản thân .mã của bạn cho rằng sẽ trông như thế:

<a href="javascript:var w=window.open(url, '_blank', 'width=300,height=250');">test</a> 

hoặc cao hơn (để tránh cho thấy người sử dụng mã của bạn trong thanh trạng thái):

<a href="javascript:void(0);" onclick="window.open(url, '_blank', 'width=300,height=250');">test</a> 

Links:

1

Bạn có thể thêm dấu thời gian vào tên cửa sổ để tạo tên cửa sổ thật độc đáo và gán biến đó cho biến. như ...

var myWindow = window.open(url, 'SampleWindow'+new Date().getTime(), 'WIDTH=300,HEIGHT=250');

Vì bạn muốn có nhiều hơn các cửa sổ sau đó nó sẽ được tốt hơn để quản lý các cửa sổ qua mảng.

 
var myWindow = []; 
myWindow.push(window.open(url, 'SampleWindow'+new Date().getTime(), 'WIDTH=300,HEIGHT=250')); 

Các cửa sổ này có thể được quản lý bởi myWindow[index] như myWindow[2].close();.

2

Bạn có thể có thể chỉ cần thay đổi tên mỗi lần

var i = 0; 
window.open(url, 'SampleWindow' + i, 'WIDTH=300,HEIGHT=250'); 
i++; 
Các vấn đề liên quan