2012-02-13 64 views
0

我有一個照片,我顯示使用fancybox,它工作正常。我需要添加額外的功能,以便用戶可以通過電子郵件與朋友分享照片鏈接等。ASP.net Web窗體和Fancybox不會加載頁面加載與預先圖像

我正在使用asp.net web表單c#和主頁面設計爲我的主要照片庫添加gallery,並使用iframe從我的主Photogallery.aspx頁面加載了fancybox。

它現在正常工作,我希望用戶打開相同的鏈接在主頁Photogallery.aspx的幻想框中共享我的電子郵件。

我使用java腳本來檢查查詢字符串「emailImgID」是否存在,然後我觸發隱藏鏈接加載fancybox,但它不起作用,但下面是最新版本的代碼。我曾嘗試不同的事情,但它似乎並不工作..

<script src="Scripts/jquery-1.6.min.js" type="text/javascript"></script> 
<script src="fancybox/jquery.fancybox-1.3.4.pack.js" type="text/javascript"></script> 
    <link href="fancybox/jquery.fancybox-1.3.4.css" rel="stylesheet" type="text/css" /> 
    <link rel="stylesheet" href="style.css" /> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      $("a.iiframe").fancybox({ 
       'scrolling': 'no', 
       'width': 830, 
       'height': 650, 
       'autoScale': false, 
       'transitionIn': 'none', 
       'transitionOut': 'none', 
       'type': 'iframe' 
      }); 



      $.extend({ 
       getUrlVars: function() { 
        var vars = [], hash; 
        var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); 
        for (var i = 0; i < hashes.length; i++) { 
         hash = hashes[i].split('='); 
         vars.push(hash[0]); 
         vars[hash[0]] = hash[1]; 
        } 
        return vars; 
       }, 
       getUrlVar: function (name) { 
        return $.getUrlVars()[name]; 
       } 
      }); 

      // i use this part to trigger link event so that it can load fancy box rather it shows only loading icon and doesnt load fancybox 
      var urlVars = $.getUrlVars(); 
      if (urlVars['emailImgID'] != "") { 
       $("#MainContent_hidden_link").fancybox().trigger('click'); 
      } 

    }); 


</script> 

回答

0

工作腳本:我託管代碼與小的改動劇本的工作,它工作正常,現在

$(document).ready(function() { 
     $("a.iiframe").fancybox({ 
      'scrolling': 'no', 
      'width': 830, 
      'height': 650, 
      'autoScale': false, 
      'transitionIn': 'none', 
      'transitionOut': 'none', 
      'type': 'iframe' 
     }); 

     $.extend({ 
      getUrlVars: function() { 
       var vars = [], hash; 
       var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); 
       for (var i = 0; i < hashes.length; i++) { 
        hash = hashes[i].split('='); 
        vars.push(hash[0]); 
        vars[hash[0]] = hash[1]; 
       } 
       return vars; 
      }, 
      getUrlVar: function (name) { 
       return $.getUrlVars()[name]; 
      } 
     }); 
     var urlVars = $.getUrlVars(); 
     if (urlVars['emailImgID'] != null) { 
      $("#<%= hidden_link.ClientID %>").trigger('click'); 
     } 
    }); 
0

,以便獲得url的查詢字符串部分使用location.search

更改getUrlVars方法。

  getUrlVars: function() { 
       var vars = [], hash; 
       if(winddow.location.search){ 
        var hashes = winddow.location.search.split('&'); 
        for (var i = 0; i < hashes.length; i++) { 
         hash = hashes[i].split('='); 
         vars.push(hash[0]); 
         vars[hash[0]] = hash[1]; 
        } 
        return vars; 
       } 
      }, 

並檢查這樣

 var urlVars = $.getUrlVars(); 
     if (urlVars['emailImgID']) { 
      $("#MainContent_hidden_link").fancybox().trigger('click'); 
     } 
+0

它doestnt工作,甚至代碼的第二部分甚至沒有被解僱。在我的代碼中,我能夠進入if語句,但問題在於我無法觸發語句$(「#MainContent_hidden_​​link」)。fancybox()。trigger('click'); 我嘗試了其他版本的行$(「#MainContent_hidden_​​link」)。trigger('click'); 和$(「#MainContent_hidden_​​link」)。click();.沒有用 – Learning 2012-02-13 04:33:38