2010-01-22 13 views
19

Jak wyświetlić podgląd na żywo w małym wyskakującym oknie połączonej strony za pomocą myszki na linku?Jak wyświetlić podgląd na żywo w małym wyskakującym oknie połączonej strony za pomocą myszki na linku?

jak ten

http://cssglobe.com/lab/tooltip/03/

ale żyć podgląd

+0

Przez podgląd na żywo masz na myśli wideo? Możesz wstawić dowolne wyskakujące okno (obiekt, tag wideo HTML5, img itp.). Możesz mieć coś po stronie serwera, skąd bierze link przez GET i zwraca miniaturkę tego linku, a następnie włącz go do obrazu onmouseover. – Tom

+0

coś takiego http://interclue.com/tour-intro.html –

+0

@JitendraVyas Link wydaje się być teraz zepsuty. –

Odpowiedz

0

nie można dokonywać żadnych żywo podgląd połączonej strony w JavaScript, ale można show the page in an iframe on mouseover.

+0

ale w jaki sposób niektóre wtyczki firefox robią to jak http://interclue.com/tour-get-interclue.html –

+0

Te wtyczki wykorzystują interfejs API przeglądarki, aby to zrobić. Możesz zrobić taki podgląd dla wszystkich użytkowników, ale musiałbyś napisać skrypt po stronie serwera, który wygenerowałby taki podgląd na żywo. – kjagiello

+0

To zależy od tego, co oznacza "podgląd na żywo" w tym kontekście. Co masz na myśli przez "podgląd na żywo"? (Jeśli "podgląd na żywo" oznacza element iframe, który zawiera podgląd strony, bardzo łatwo jest to zrobić za pomocą HTML i CSS. [Zobacz odpowiedź]. (Http://stackoverflow.com/a/16625709/975097) –

0

Można wykonać następujące czynności:

  1. Utwórz (lub znaleźć) usługę, która renderuje URL jako obrazy podglądu
  2. Załaduj że obraz na myszy nad i pokazać go
  3. Jeśli jesteś obsesyjno byciu na żywo, a następnie użyj wtyczki Timer do jQuery, aby ponownie załadować obraz po pewnym czasie.

Oczywiście nie jest to na żywo.

Co jest bardziej sensowne, można wygenerować obrazy podglądu dla niektórych adresów URL, np. każdego dnia lub każdego tygodnia i używaj ich. Obrazuję, że nie chcesz tego robić ręcznie i nie chcesz pokazywać użytkownikom swojej usługi podglądu, który wygląda zupełnie inaczej niż obecnie wygląda strona.

+0

Znalazłem to http://thumbnails.iwebtool.com/demo/ w podobnym pytaniu, ale nie działa http://stackoverflow.com/questions/80313/how-do-i-preview-a-url-using-ajax –

32

Możesz użyć elementu iframe do wyświetlenia podglądu strony po najechaniu myszą.

http://jsbin.com/urarem/3/edit

HTML:

This live preview for <a href="http://en.wikipedia.org/">Wikipedia</a><div class="box"><iframe src="http://en.wikipedia.org/" width = "500px" height = "500px"></iframe></div> remains open on mouseover. 

CSS:

.box{ 
    display: none; 
    width: 100%; 
} 

a:hover + .box,.box:hover{ 
    display: block; 
    position: relative; 
    z-index: 100; 
} 

Here's an example with multiple link previews.

+1

Świetne rozwiązanie. Moje pytanie brzmi: czy możesz zrobić tak, aby element iframe wyświetlał się po najechaniu kursorem myszy na link pozostaje widoczny, jeśli przesuniesz kursor myszy nad wyświetlaną stroną? W [tym jsfiddle] (http://jsfiddle.net/mcdqt/867/) zmodyfikowałem twój przykład, pokazując, jak chciałbym go przedstawić, ale byłoby idealnie, gdyby po wyświetleniu strony można było najechać myszą i pozostało widoczne (aby można było wybrać tekst, na przykład, bez ha ving, aby przejść do strony). Z góry dziękuję! – Luke

+0

@Luke Rozwiązałem ten problem: zobacz zaktualizowaną wersję mojej odpowiedzi. –

+0

doskonały. Wielkie dzięki – Luke

11

Możesz wyświetlić podgląd na żywo łącza za pomocą javascript używając poniższego kodu.

<p id="p1"><a href="http://cnet.com">Cnet</a></p> 
 
<p id="p2"><a href="http://codegena.com">Codegena</a></p> 
 
<p id="p3"><a href="http://apple.com">Apple</a></p> 
 

 

 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> 
 
    <link href="http://codegena.com/assets/css/image-preview-for-link.css" rel="stylesheet">  
 
    <script type="text/javascript"> 
 
    $(function() { 
 
       $('#p1 a').miniPreview({ prefetch: 'pageload' }); 
 
       $('#p2 a').miniPreview({ prefetch: 'parenthover' }); 
 
       $('#p3 a').miniPreview({ prefetch: 'none' }); 
 
      }); 
 
    </script> <script src="http://codegena.com/assets/js/image-preview-for-link.js"></script>

Dowiedz się więcej na ten temat na Codegena

id="p1" - Fetch image preview on page load. 
id="p2" - Fetch preview on hover. 
id="p3" - Fetch preview image each time you hover. 
+0

Zaimplementowałem ten skrypt na stronie internetowej. Jest świetny, ale mam problemy z importowaniem stron FB –

0

Osobiście wolałbym uniknąć iframes i iść z znacznika embed, aby utworzyć widok w oknie mouseover.

<embed src="http://www.btf-internet.com" width="600" height="400" /> 
Powiązane problemy