Официальный сайт студ.городка НГТУ
Программирование и БД » [Javascript]кроссбраузерность копирования в буфер. 

#1  22.03.07 14:28

[Javascript]кроссбраузерность копирования в буфер.

Под ie работает в следующем случае:
onClick="javascript:clipboardData.setData('text', '"этот текст в в буфер')".
Но вот под мазилой не работает,чуем чую что то нада с натсройками безопасности делать.
Подскажи что делать с настройками либо более элегантный метод есть?

Offline

#2  22.03.07 15:08

Maq
Профиль

Re: [Javascript]кроссбраузерность копирования в буфер.

Код: JavaScript:

function ClipBoard(text){
	if (window.clipboardData){window.clipboardData.setData("Text", text);}
	else {
		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=text;
		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);
	}
}

Offline

#3  22.03.07 15:19

Re: [Javascript]кроссбраузерность копирования в буфер.

Ошибка: uncaught exception: A script from "http://server" was denied UniversalXPConnect privileges.

Offline

#4  22.03.07 15:33

Re: [Javascript]кроссбраузерность копирования в буфер.

вроде решение:
Guide

   1. install chromEdit extension and restart Firefox
   2. go to the Firefox' "Tools" menu > Edit User Files > cick on the "user.js" tab
   3. add the following lines in the "user.js" file:

          user_pref("capability.policy.policynames", "allowclipboard");
          user_pref("capability.policy.allowclipboard.sites", "http://www.site1.com");
          user_pref("capability.policy.allowclipboard.Clipboard.cutcopy", "allAccess");
          user_pref("capability.policy.allowclipboard.Clipboard.paste", "allAccess");

   4. change "http://www.site1.com" with the website's url you want to grant access and restart Firefox

      If you need to grant copy/paste access to more than one website, then you may add the websites urls separated by a blank space, like this:

          user_pref("capability.policy.allowclipboard.sites", "http://www.site1.com http://www.site2.com");

а как нибудь без установки плагина chromEdit это можно сделать?

Offline

#5  22.03.07 15:48

Re: [Javascript]кроссбраузерность копирования в буфер.

можно вот так:
1)в firefox,в адресной строке пишем about:config
2)ищем signed.applets.codebase_principal_support и перелючаем его в true
3)когда кликаем по сылку которая должна скопировать чтото в буфер,вылазит варнинг,ставим галку "запомнить решение" и разрешаем.
только видать это галка для понту, либо только для одной сылки работает а для домена в целом.

Исправлено iDrum (22.03.07 15:52)

Offline

#6  23.03.07 08:54

Re: [Javascript]кроссбраузерность копирования в буфер.

А может просто тупо показывать пользователю mozilla like браузера confirm?

Offline

#7  23.03.07 09:14

Re: [Javascript]кроссбраузерность копирования в буфер.

spec, ну покажешь его и что?

Offline

#8  23.03.07 09:41

Re: [Javascript]кроссбраузерность копирования в буфер.

iDrum, пусть сам пользователь копирует из него )

Offline

#9  23.03.07 10:28

Re: [Javascript]кроссбраузерность копирования в буфер.

да ваще люди обленились совсем))

spec написал(а):

iDrum, пусть сам пользователь копирует из него )

Offline

#10  23.03.07 12:00

Re: [Javascript]кроссбраузерность копирования в буфер.

посмотри как в FCKeditor сделано

Offline

Программирование и БД » [Javascript]кроссбраузерность копирования в буфер. 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.045 сек.
Выполнено 11 запросов.