Firefox では
signed.applets.codebase_principal_support を設定する必要があることに注意してください。
Firefox ブラウザのアドレス バーに about:config と入力し、フィルタに signed.applets.codebase_principal_support と入力してダブルクリックしますそしてそれを真のサポートに設定します。 Firefox はデフォルトでクリップボードのスクリプト操作をサポートしていないためです。
何もサポートしていないブラウザが最も安全なブラウザだからです。
]
以下はieです Firefoxでクリップボードの情報を読み取る方法
コードは次のとおりです。
function getClipboard()
{
if (window.clipboardData)
{
return (window.clipboardData.getData('text'));
}
else
{
if (window.netscape)
{
try
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); 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(); );
trans.getTransferData ("text/unicode", str, len);
}
catch (e)
{
alert("Firefox のセキュリティ制限により、クリップボードの操作が制限されています'about: config'Set signed.applets.codebase_principal_support' to true' を開いて再試行してください。相対パスは firefox ルート ディレクトリ/greprefs/all.js");
return null;
}
if (str)
{
if (Components.interfaces.nsISupportsWString)
{
str = str.value.QueryInterface(Components.interfaces.nsISupportsWString)
}
else;
{
if (Components.interfaces.nsISupportsString)
{
str = str.value.QueryInterface(Components.interfaces.nsISupportsString)
}
else
{
str = null;
}
}
}
if (str)
{
return (str.data.substring(0, len.value / 2));
}
}
}
return null;
}
次は、Firefox
コードをコピー
window.clipboardData.setData("Text",txt);
else if(navigator.userAgent.indexOf("Opera") !=-1){
window .location=txt;
}
else if(window.netscape){
try{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect") ;
}
catch( e){
alert(「Firefox のセキュリティ制限により、クリップボードの操作が制限されています。「about:config」を開いて、signed.applets.codebase_principal_support を true に設定して、もう一度お試しください。相対パスは Firefox のルート ディレクトリ / grprefs/all.js");
return false;
}
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;
var str=new Object();
var str=Components.classes[ "@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
var copytext=txt;str.data=copytext; trans.setTransferData("text/unicode", str,copytext.length*2);
var Clipid=Components.interfaces.nsIClipboard;
if(!clip)return false; ,null,clipid.kGlobalClipboard);
}
}
特定のアプリケーションについては、Script House のコードを参照できます。