• 23-09-2009, 23:29:10
    #1
    Büyük resimlerin yazı sayfasında lishtbox efekti ile açılması için slimbox eklentisini kullanıyorum bu eklenti çok hafif öneririm sorunum ise resim açıldığında sağ tık ile kaydedilmemesi bunun için bir kaydet butonu nasıl oluşturalabilirmi ?


    Kapat butonun inceledim kodları jquery.slimbox.js dosyasında geliyor ama kaydet butonu için ne yapmam gerek çözemedim

    Ya da büyük resim üzerinde sağ tıklandığında kaydedilebilir olmasını nasıl sağlarım ?

    slimbox.php

    <?php
    /*
    Plugin Name: Slimbox
    Description: Enables <a href="http://www.digitalia.be/software/slimbox2">slimbox 2</a> on all image links including BMP, GIF, JPG, JPEG, and PNG links.
    Version: 1.0.1
    Author: Kevin Sylvestre
    Author URI: http://www.ksylvest.com
    */
    if (!defined('WP_CONTENT_URL'))
          define('WP_CONTENT_URL', get_option('siteurl').'/wp-content');
    if (!defined('WP_CONTENT_DIR'))
          define('WP_CONTENT_DIR', ABSPATH.'wp-content');
    if (!defined('WP_PLUGIN_URL'))
          define('WP_PLUGIN_URL', WP_CONTENT_URL.'/plugins');
    if (!defined('WP_PLUGIN_DIR'))
          define('WP_PLUGIN_DIR', WP_CONTENT_DIR.'/plugins');
    function slimbox() {
    	$slimbox .= "<script type=\"text/javascript\">\n";
    	$slimbox .= "jQuery(document).ready(function($){\n";
    	$slimbox .= "$('a[href$=\".bmp\"],a[href$=\".GIF\"],a[href$=\".gif\"],a[href$=\".jpg\"],a[href$=\".jpeg\"],a[href$=\".png\"]').slimbox();\n";
        $slimbox .= "});\n";
    	$slimbox .= "</script>\n";
    	echo $slimbox;
    }
    if (!is_admin()) :
    	wp_enqueue_script('jquery');
    	wp_enqueue_script('jquery.slimbox', WP_PLUGIN_URL."/slimbox/javascript/jquery.slimbox.js", array('jquery'), '2.02');
    	add_action('wp_head', 'slimbox');
    endif;
    ?>

    jquery.slimbox.js


    /*
     * Slimbox v2.02 - The ultimate lightweight Lightbox clone for jQuery
     * (c) 2007-2009 Christophe Beyls <http://www.digitalia.be>
     * MIT-style license.
     */
    (function(w){var E=w(window),u,g,F=-1,o,x,D,v,y,L,s,n=!window.XMLHttpRequest,e=window.opera&&(document.compatMode=="CSS1Compat")&&(w.browser.version>=9.3),m=document.documentElement,l={},t=new Image(),J=new Image(),H,a,h,q,I,d,G,c,A,K;w(function(){w("body").append(w([H=w('<div id="lbOverlay" />')[0],a=w('<div id="lbCenter" />')[0],G=w('<div id="lbBottomContainer" />')[0]]).css("display","none"));h=w('<div id="lbImage" />').appendTo(a).append(q=w('<div style="position: relative;" />').append([I=w('<a id="lbPrevLink" href="#" />').click(B)[0],d=w('<a id="lbNextLink" href="#" />').click(f)[0]])[0])[0];c=w('<div id="lbBottom" />').appendTo(G).append([w('<a id="lbCloseLink" href="#" />').add(H).click(C)[0],A=w('<div id="lbCaption" />')[0],K=w('<div id="lbNumber" />')[0],w('<div style="clear: both;" />')[0]])[0]});w.slimbox=function(O,N,M){u=w.extend({loop:false,overlayOpacity:0.8,overlayFadeDuration:400,resizeDuration:400,resizeEasing:"swing",initialWidth:250,initialHeight:250,imageFadeDuration:400,captionAnimationDuration:400,counterText:"Image {x} of {y}",closeKeys:[27,88,67],previousKeys:[37,80],nextKeys:[39,78]},M);if(typeof O=="string"){O=[[O,N]];N=0}y=E.scrollTop()+((e?m.clientHeight:E.height())/2);L=u.initialWidth;s=u.initialHeight;w(a).css({top:Math.max(0,y-(s/2)),width:L,height:s,marginLeft:-L/2}).show();v=n||(H.currentStyle&&(H.currentStyle.position!="fixed"));if(v){H.style.position="absolute"}w(H).css("opacity",u.overlayOpacity).fadeIn(u.overlayFadeDuration);z();k(1);g=O;u.loop=u.loop&&(g.length>1);return b(N)};w.fn.slimbox=function(M,P,O){P=P||function(Q){return[Q.href,Q.title]};O=O||function(){return true};var N=this;return N.unbind("click").click(function(){var S=this,U=0,T,Q=0,R;T=w.grep(N,function(W,V){return O.call(S,W,V)});for(R=T.length;Q<R;++Q){if(T[Q]==S){U=Q}T[Q]=P(T[Q],Q)}return w.slimbox(T,U,M)})};function z(){var N=E.scrollLeft(),M=e?m.clientWidth:E.width();w([a,G]).css("left",N+(M/2));if(v){w(H).css({left:N,top:E.scrollTop(),width:M,height:E.height()})}}function k(M){w("object").add(n?"select":"embed").each(function(O,P){if(M){w.data(P,"slimbox",P.style.visibility)}P.style.visibility=M?"hidden":w.data(P,"slimbox")});var N=M?"bind":"unbind";E[N]("scroll resize",z);w(document)[N]("keydown",p)}function p(O){var N=O.keyCode,M=w.inArray;return(M(N,u.closeKeys)>=0)?C():(M(N,u.nextKeys)>=0)?f():(M(N,u.previousKeys)>=0)?B():false}function B(){return b(x)}function f(){return b(D)}function b(M){if(M>=0){F=M;o=g[F][0];x=(F||(u.loop?g.length:0))-1;D=((F+1)%g.length)||(u.loop?0:-1);r();a.className="lbLoading";l=new Image();l.onload=j;l.src=o}return false}function j(){a.className="";w(h).css({backgroundImage:"url("+o+")",visibility:"hidden",display:""});w(q).width(l.width);w([q,I,d]).height(l.height);w(A).html(g[F][1]||"");w(K).html((((g.length>1)&&u.counterText)||"").replace(/{x}/,F+1).replace(/{y}/,g.length));if(x>=0){t.src=g[x][0]}if(D>=0){J.src=g[D][0]}L=h.offsetWidth;s=h.offsetHeight;var M=Math.max(0,y-(s/2));if(a.offsetHeight!=s){w(a).animate({height:s,top:M},u.resizeDuration,u.resizeEasing)}if(a.offsetWidth!=L){w(a).animate({width:L,marginLeft:-L/2},u.resizeDuration,u.resizeEasing)}w(a).queue(function(){w(G).css({width:L,top:M+s,marginLeft:-L/2,visibility:"hidden",display:""});w(h).css({display:"none",visibility:"",opacity:""}).fadeIn(u.imageFadeDuration,i)})}function i(){if(x>=0){w(I).show()}if(D>=0){w(d).show()}w(c).css("marginTop",-c.offsetHeight).animate({marginTop:0},u.captionAnimationDuration);G.style.visibility=""}function r(){l.onload=null;l.src=t.src=J.src=o;w([a,h,c]).stop(true);w([I,d,h,G]).hide()}function C(){if(F>=0){r();F=x=D=-1;w(a).hide();w(H).stop().fadeOut(u.overlayFadeDuration,k)}return false}})(jQuery);
  • 24-09-2009, 00:12:33
    #2
    Mevzubahis eklenti resimlerin büyük hallerini arkaplan resmi (background-image) şeklinde gösterdiği için bu özelliğine müdahale etmeden dediğinizi yapmanız mümkün değil. Aslında mümkün ama bu sefer de ileri - geri butonlarını devre dışı bırakmanız gerekecek.
  • 24-09-2009, 00:23:54
    #3
    Evet bende neden kaydet yazısının çıkmadığını anladım js kodunu inceledim +o+ ile resim linkini basmış


    .css({backgroundImage:"url("+o+")",visibility:"hidden",display:""}

    Uğraştım kapat butonundan yola çıkarak uygulama yapmak istedim olmadı
    araya aşağıdaki kodu sıkıştırabilsem belki olacak ama çok nazlı hemen bozuluyor


    kapat butonu için kullanılan kodu kopyaladım href="#" bölümünü href="+o+" olarak değiştirdim ama olmadı gerçi doğru yerdenmi kopyaladım eksikmi fazlamı bilmiyorum ya


    c=w('<div id="lbBottom" />').appendTo(G).append([w('<a id="lbCloseLink" href="+o+" />').add(H).click(C)[0],A=w('<div id="lbCaption" />')[0]