2010-12-30 13 views
116

更新クロムとFirefoxのクリップボードJavaScript関数への秘密のコピー?

は私が

copy("party in your clipboard!"); 

を実行することができますMacのChromeとFirefoxの両方のコンソールウィンドウで


browsers are starting to support copy natively in JSのように見えるとテキストが私のクリップボードにコピーされます。私はSOとGoogleを検索しましたが、これで何かを見つけることはできません。

  • これは各ブラウザによって異なりますか?
  • のこれらのJavaScript機能の詳細については、どこで見つけることができますか?

ブラウザのバージョン: 'コピー'

function (object) 
    { 
     if (injectedScript._type(object) === "node") { 
      var nodeId = InjectedScriptHost.pushNodePathToFrontend(object, false, false); 
      InjectedScriptHost.copyNode(nodeId); 
     } else 
      InjectedScriptHost.copyText(object); 
    } 
  • このコードは何を意味するのを実行する際に

    alt text alt text

    JavaScriptがクロームコンソールから戻りましたか?ここで

私はこれらが事前に定義されてFirebugのコンソール機能していると信じて

alt text

alt text

+0

エラーコンソールは、どのコンソールを使用していますか? –

+0

@Matthew Flaschen、Firebug。 –

+2

私はC++のプログラマーではありませんが、http://opensource.apple.com/source/WebCore/WebCore-7533.18.1/inspector/InjectedScriptHost.cppの 'InjectedScriptHost :: copyText(const String&text)'を見つけました – Kai

答えて

50

を無効にし、すべてのChromeの拡張機能を使ってChromeのコンソールでコピー機能を実行する2つのスクリーンショットがある - と思われる、少なくともFirebugの場合です。たとえばwindow.copyを呼び出すと、定義されていない機能に関する警告が表示されるため、ブラウザ機能ではないため、通常のJavaScriptファイルでは使用できません。以下の機能もそれで少し遊ん後には、JavaScriptコンソールで動作するようです:クロームコンソールでこれらを実行

  • clear()
  • profile()

を背後源を明らかにWebkitコンソールのこれらの機能:

> profile 
function() 
{ 
return console.profile.apply(console, arguments) 
} 

> clear 
function() 
{ 
InjectedScriptHost.clearConsoleMessages(); 
} 

> copy 
function (object) 
{ 
if (injectedScript._type(object) === "node") 
object = object.outerHTML; 
InjectedScriptHost.copyText(object); 
} 

Firebug sourceは機能リストも定義していますが、

this.clear = function() // no web page interaction 
{ 
    Firebug.Console.clear(context); 
}; 

this.inspect = function(obj, panelName) // no web page interaction 
{ 
    Firebug.chrome.select(obj, panelName); 
}; 

this.keys = function(o) 
{ 
    return FBL.keys(o); // the object is from the page, unwrapped 
}; 

this.values = function(o) 
{ 
    return FBL.values(o); // the object is from the page, unwrapped 
}; 

// etc... 
+13

+1探偵作品+1 – SeanDowney

+1

ノードインスペクタデバッグコンソールを使用しているときにChrome 44でこれが動作しないと思われます。 'クリップボードはホストモードでは有効になっていません。クロムを使って調べてください:// inspect' – jcollum

+0

ニース。これはChrome Version 61.0.3163.100(Official Build)(64ビット版)で動作します。 – Shanimal