ホームページ > ウェブフロントエンド > jsチュートリアル > マルチブラウザ対応(IE、Firefox、Opera) クリップボードコピー機能改訂版_JavaScriptスキル

マルチブラウザ対応(IE、Firefox、Opera) クリップボードコピー機能改訂版_JavaScriptスキル

WBOY
リリース: 2016-05-16 18:58:01
オリジナル
1426 人が閲覧しました

Firefox では
signed.applets.codebase_principal_support を設定する必要があることに注意してください。
Firefox ブラウザのアドレス バーに about:config と入力し、フィルタに signed.applets.codebase_principal_support と入力してダブルクリックしますそしてそれを真のサポートに設定します。 Firefox はデフォルトでクリップボードのスクリプト操作をサポートしていないためです。
何もサポートしていないブラウザが最も安全なブラウザだからです。


[Ctrl A すべて選択 注: 外部 Js を導入する必要がある場合は、更新して実行する必要があります
]


以下は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


コードをコピー
コードは次のとおりです。 copy2Clipboard=function(txt){ if(window. ClipboardData){ window.clipboardData.clearData();
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 のコードを参照できます。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート