2012-07-17 30 views
6

Vì vậy, tôi có một trang chứa iframe. Bên trong khung nội tuyến, có các liên kết mở ra trang mới trong cùng một cửa sổ (self.location.href) (window.open (urlstring, 'false') v.v. ... ...Có thể chặn tất cả các chuyển hướng và mở nội dung trong cửa sổ mới/bật lên không?

Có cách nào không rằng tôi có thể ép buộc tất cả các liên kết bên trong cửa sổ này để mở nội dung của chúng trong cửa sổ mới/bật lên? Ghi đè cài đặt chuyển hướng của chúng và không thay đổi mã bên trong khung nội tuyến?

Lý do tôi hỏi điều này là vì điều đó, Tôi nghĩ rằng trang khung nội tuyến vẫn tham chiếu đến cửa sổ chính dưới dạng cửa sổ của họ, do đó, khi chức năng như "window.self.open" được kích hoạt, nó đã mất toàn bộ cửa sổ mẹ của tôi ...

Có thể vẫn nhúng iframe như một cửa sổ riêng bên trong pa ge? Chỉ cần không chắc chắn cách tránh tham chiếu cửa sổ tương tự ...

Cảm ơn!

+0

Các liên kết được mã hóa như thế nào? "a href =" link "hoặc" a href: javascript: goto() "? – VirtualTroll

+0

" self.location.href = "và" window.open (urlstring, 'false') "etc ... – eastboundr

+1

Đăng một số mã để –

Trả lời

1

Bạn có thể đặt liên kết để mở trong cửa sổ mới bằng cách thêm target="_blank" vào phần tử a (ví dụ: <a href="example.html" target="_blank">Example</a>).

Nếu bạn muốn có điều này áp dụng cho tất cả các liên kết mà không cần chạm vào các liên kết bản thân, bạn có thể bao gồm một chức năng jquery để làm điều đó cho bạn:

$("a").attr("target","_blank"); 
+0

Tôi đã làm một cái gì đó tương tự, về cơ bản nó bao gồm việc tiếp cận xuống trang iframe và thay đổi html/scripting của nó.Vì tôi biết URL mục tiêu anyways. – eastboundr

0

Bạn cũng có thể thêm các thuộc tính mục tiêu để một base - trong tiêu đề.

<base target="_blank"> 

Điều này cũng sẽ được áp dụng cho tất cả các liên kết.

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