2013-03-29 32 views
24

tôi có mã iframe này:Tải liên kết khung nội tuyến vào cửa sổ chính?

<iframe src="http://www.example.com" border="0" framespacing="0" marginheight="0" marginwidth="0" vspace="0" hspace="0" scrolling="yes" width="100%" frameborder="0" height="100%"></iframe> 

gì tôi đang cố gắng để làm is..when tôi nhấp vào bất kỳ liên kết trong iframe page..then tôi sẽ đi với nó và trang sẽ được tải và tôi sẽ getout từ trang hiện tại tới liên kết iframe dưới dạng trang mới.

Giống như target="_self" - không giống như iframe thông thường sẽ đi tới liên kết này mà không có bất kỳ thay đổi nào trong chính trình duyệt.

Ví dụ: iframe src: http://www.w3schools.com

Khi tôi bấm vào nút "Tìm hiểu HTML" bên trong iframe page..then tôi sẽ đi đến http://www.w3schools.com/html/default.asp và URL trình duyệt của tôi sẽ thay đổi để nó quá.

Vì vậy, tôi chỉ cần nhấp vào một liên kết bên trong iframe và tôi truy cập vào nó.

Bất kỳ ý tưởng nào?

Trả lời

35

Có, bạn có thể sử dụng target="_parent" để đạt được điều này.

"target =" _ parent "mở tài liệu được liên kết trong khung chính".

Ví dụ:

<a target="_parent" href="http://example.org">Click me!</a> 

Edit:

Nếu điều đó không làm việc, bạn có thể thử _top:

<a target="_top" href="http://example.org">Click me!</a> 

Hoặc base target:

<base target="_parent" /> 

Hoặc window.top.location trong JavaScript:

window.top.location = "http://example.com"; 
+0

Q đã được updated..thank bạn. – user2203703

+0

@ user2203703 Tôi không hiểu, điều này trả lời câu hỏi. bạn sử dụng phụ huynh mục tiêu trên liên kết bên trong khung nội tuyến .. – lifetimes

+0

Tôi muốn rời khỏi trang của mình có iframe và goout đến liên kết mà tôi đã nhấp vào bên trong iframe – user2203703

13

gì bạn đang tìm kiếm là <a href="..." target="_parent">

_parent sẽ gây ra nó để đi vào khung mẹ

_top sẽ khiến nó đi đến cấp cao nhất.

Hoặc _parent hoặc _top sẽ hoạt động cho mục tiêu của bạn.

+1

Có thể tôi không rõ ràng về câu hỏi. Trang trong iframe ... bạn có kiểm soát HTML trong trang đó hay là trang web của bên thứ ba không? Tôi cập nhật câu trả lời của tôi để bao gồm target = _top nhưng tất nhiên đó là giả sử bạn có quyền kiểm soát nội dung của khung. –

5

Có, chỉ cần thêm target="_parent" vào liên kết và tải trên trang chính.

+0

Q đã được cập nhật .. cảm ơn bạn. – user2203703

6

Bạn có thể sử dụng javascript để thêm mục tiêu vào các liên kết động, giống như thế này.

function onLoadIF(frame) 
{ 
    var elements = frame.getElementsByTagName('a'), 
     len = elements.length; 

    while(len--) { 
     elements[len].target = "_parent"; 
    } 
} 

Và sau đó thêm onload = "onLoadIF (this)" vào khung nội tuyến.

1

Nếu trang web mở ra trong iframe sau đó chuyển hướng đến trang web chính

<script> 
    if (window.top.location != window.self.location) { 
     top.window.location.href = window.self.location; 
    } 
</script> 
+0

Đó là một hack và nó thậm chí không trả lời câu hỏi. –

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