Bonjour,

Ceci est mon premier post, s'il n'est pas au bon endroit ou qu'il ne respecte pas certains usages soyez indulgent, merci.

Mon problème: je viens de passer à la version 17 de Firefox et certains de mes scripts ne fonctionnent plus du tout.

Contexte: mes scripts sont écrits pour être exécutés via Greasemonkey (version 1.5), je suis donc sous Firefox 17, sur un système Ubuntu (mais mes scripts doivent aussi fonctionner sous IE Windows).

Ce qui ne fonctionne plus:
Il semblerait (je n'ai pas tout compris des textes anglais sur le sujet) que ce qui pose problème est lié à ceci :
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect')

J'utilise ça en particulier pour remplir (ou lire) le presse-papier via ce code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function copyToClipboardAll(sText) {
	copyToClipboard(sText);
	return(false);
	if (window.clipboardData) {
		window.clipboardData.setData("Text", sText);
	}
	else {
		unsafeWindow.netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
		const clipboardHelper = Components.classes
		["@mozilla.org/widget/clipboardhelper;1"].
		getService(Components.interfaces.nsIClipboardHelper);
		clipboardHelper.copyString(sText);
	}
	return(false);
}
ou celui-ci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function pasteFromClipboard() {
	var t="";
	if (window.clipboardData) {
		window.clipboardData.getData("Text");
	}
	else {
		unsafeWindow.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");
		clip.getData(trans,clip.kGlobalClipboard);
		var str = new Object();
		var strLength = new Object();
		trans.getTransferData("text/unicode",str,strLength);
		if (str) str = str.value.QueryInterface(Components.interfaces.nsISupportsString);
		if (str) t = str.data.substring(0,strLength.value / 2);
	}
	return(t);
}
Quelqu'un pourrait-il éclairer ma lanterne et m'indiquer une piste de recherche, voir carrément un code fonctionnel similaire? Merci d'avance.