انجمن ایران پی اچ پی

نسخه کامل: Copy To ClipBoard
شما در حال مشاهده نسخه متنی این صفحه می‌باشید. مشاهده نسخه کامل با قالب بندی مناسب.
سلام

بچه ها برای copy to clipboard چیزی غیر از این سراغ دارید:
کد:
clipboardData.setData("Text", "Some Text")

کد بالا فقط تو IE کار میکنه
احسان این کد رو بعد ضمیمه کردن فایل جاواش زدم، ولی کار نکرد:

کد:
    var clip = new ZeroClipboard.Client();

    clip.setText(text1);
تمام فایل هاش رو درست ضمیمه میکنی؟
من رو خودش تست زدم کار میکرد.
روی لوکال یا سایت امتحانش کن، ممکنه مشکل به خاطر پلاگین فلش باشه.
مگه چند تا فایل داره؟

یه zero-clipboard.js هست دیگه Huh
کد:
ZeroClipboard.swf

این فایل رو هم کنار صفحه (مثلا index.php) قرار میدی؟
نه، این چیه؟

بعد اگه کاربر Flash Player نداشته باشه کارش لنگ میمونه؟

یعنی راهی بغیر از فلش نیست؟
نقل قول: بعد اگه کاربر Flash Player نداشته باشه کارش لنگ میمونه؟

تا جایی که من یادم میاد روی فایر فاکس کامپونتش رو نصب نکرده بودم و به احتمال زیاد روی خود فایرفاکس بوده. کروم هم همین طور.

نقل قول: یعنی راهی بغیر از فلش نیست؟

به نظر من بهترین راه همینه، روش های دیگه ای هم وجود داره مثلا برای فایر فاکس میتونی از این تابع استفاده کنی:

کد:
function ctc()
{
    netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
    var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
    if (!clip) return;
    var trans = Components.classes['@mozilla.org/widget/transferable;1']
              .createInstance(Components.interfaces.nsITransferable);
    if (!trans) return;
    
    trans.addDataFlavor('text/unicode');
    
    var str = new Object();
    var len = new Object();
    
    var str = Components.classes["@mozilla.org/supports-string;1"]
                .createInstance(Components.interfaces.nsISupportsString);
    
    var copytext = "The Text you want to copy";
    
    str.data = copytext;
    
    trans.setTransferData("text/unicode", str, copytext.length*2);
    
    var clipid=Components.interfaces.nsIClipboard;
    
    if (!clip) return false;
    
    clip.setData(trans, null, clipid.kGlobalClipboard);    
}

هنگام کپی هم اون پیامش یه مقدار جالب نیست!
بازم کار نکرد احسان

کد PHP:
function copy1(text1)
{
    
ZeroClipboard.moviePath '<?php echo URL_PATH ?>js/ZeroClipboard.swf';
    var 
clip = new ZeroClipboard.Client();
    
clip.setText(text1);


کد:
ZeroClipboard.moviePath

مقدار moviePath رو داخل ZeroClipboard.js اصلاح کن. برای چی اوردیش داخل تابع؟
سعی طبق همون مثال/نمونه ای که بت داده ازش استفاده کنی، تغییرش یه کم ادمو اذیت میکنه.
لینک مرجع