2010-01-06 15 views
5

क्या मैं एक बाहरी वेब पेज खोलने के लिए JQuery Dialog का उपयोग कर सकता हूं, और यदि ऐसा है - कैसे?JQuery: क्या मैं बाहरी वेब पेज खोलने के लिए एक संवाद का उपयोग कर सकता हूं?

अनिवार्य रूप से, मैं JQuery का उपयोग कर लाइटविंडो की क्षमताओं को दोहराना चाहता हूं (लाइटविंडो स्क्रिप्टिव पर आधारित है)।

www.stickmanlabs.com/lightwindow/index.html

आदर्श रूप में, मैं कुछ JQuery कोर के अलावा है कि उपयोग करना चाहते हैं। यदि इसे एक JQuery प्लग-इन होने की आवश्यकता है, तो यह ठीक है लेकिन मैं वास्तव में ऐसी सुविधाओं की मूल कार्यक्षमता के अलावा होना चाहता हूं जो पहले से मौजूद है।

उत्तर

9

JQueryUI में आप एक संवाद के रूप में एक डीआईवी का उपयोग कर रहे हैं।

$(function() { 
    $("#dialog").dialog(); 
}); 

तो तुम DIV के अंदर एक आइफ्रेम उपयोग कर सकते हैं:

<div id="dialog" title="Google"> 
    <IFRAME style="border: 0px;" SRC="http://www.google.com" width="100%" height = "100%" > 
</div> 

संपादित करें:

आप चाहते हैं अपने पृष्ठ में हर लिंक jQueryUI संवाद को यहां प्रदर्शित किया जा सके यह है:

जावास्क्रिप्ट:

$("a").click(function(event){ 
    event.preventDefault(); 
    $("#frame").attr("src", $(this).attr("href")); 
    $('#dialog').dialog('open'); 
}); 

एचटीएमएल:

<div id="dialog" title="Dialog Title"> 
    <IFRAME id="frame" style="border: 0px;" SRC="" width="100%" height = "100%" > 
</div> 
+0

हम्म ... यह अब काम हो सकता है, क्योंकि मैं अनिवार्य रूप से अपने पन्ने पर हर कड़ी एक लाइटबॉक्स/shadowbox अंदर खोल करना चाहते हैं। आप में उदाहरण हैं, ऐसा प्रतीत होता है कि मुझे प्रत्येक लिंक के लिए एक संवाद बांधना होगा। – TeddyB

+0

ग्रेबॉक्स के बारे में क्या, यह आधिकारिक रूप से समर्थित JQuery सुविधा प्रतीत होता है। http://jquery.com/demo/grey/ ??? – TeddyB

+0

हां यह भी काम करता है। JQueryUI होने के बजाय आपको JQuery कोर प्लस इस प्लगइन की आवश्यकता होगी। लेकिन यह संवाद ड्रैग करने योग्य नहीं है और न ही आकार बदलने योग्य (कम से कम ओपेरा के साथ) – JCasso

0

बस JCasso's great answer पर विस्तार करने के लिए, आप सभी जावास्क्रिप्ट में इस संभाल कर सकते हैं:

$("a").click(function (event) { 
    event.preventDefault(); 
    var page = $(this).attr("href"); 
    var title = $(this).text(); 
    $('<div></div>') 
     .html('<iframe style="border: 0px; " src="' + page + 
       '" width="100%" height="100%"></iframe>') 
     .dialog({ 
      autoOpen: true, 
      modal: true, 
      height: 800, 
      width: 400, 
      title: title 
    }); 
}); 

अब पृष्ठ पर किसी लिंक होगा बॉक्स में iframe के अंदर खोला जाए।

Working Demo in jsFiddle

संबंधित मुद्दे

 संबंधित मुद्दे