Chrome और Firefox में क्लिपबोर्ड जावास्क्रिप्ट फ़ंक्शन की गुप्त प्रतिलिपि?


150

अपडेट करें

लगता है कि ब्राउज़र जेएस में मूल रूप से कॉपी का समर्थन करना शुरू कर रहे हैं


मैक I पर क्रोम और फ़ायरफ़ॉक्स दोनों के कंसोल विंडो में निष्पादित कर सकते हैं

copy("party in your clipboard!");

और पाठ मेरे क्लिपबोर्ड पर कॉपी हो जाता है। मैंने SO और Google को खोजा है और इस पर कुछ भी नहीं खोज सकता।

  • क्या ये प्रत्येक ब्राउज़र के लिए विशिष्ट हैं?
  • मुझे इन जावास्क्रिप्ट फ़ंक्शंस पर अधिक जानकारी कहां मिल सकती है?

ब्राउज़र संस्करण:

वैकल्पिक शब्द वैकल्पिक शब्द

'कॉपी' निष्पादित करते समय क्रोम क्रोम कंसोल से लौटा

function (object)
    {
        if (injectedScript._type(object) === "node") {
            var nodeId = InjectedScriptHost.pushNodePathToFrontend(object, false, false);
            InjectedScriptHost.copyNode(nodeId);
        } else
            InjectedScriptHost.copyText(object);
    }
  • इस कोड का क्या अर्थ है?

यहां क्रोम कंसोल में कॉपी फ़ंक्शन को निष्पादित करने के 2 स्क्रीनशॉट हैं जो सभी क्रोम एक्सटेंशन के साथ अक्षम हैं

वैकल्पिक शब्द

वैकल्पिक शब्द


कौन सा फ़ायरफ़ॉक्स कंसोल आप उपयोग कर रहे हैं, त्रुटि कंसोल?
मैथ्यू फ्लैशेन

2
मुझे पता नहीं सी ++ प्रोग्रामर हूँ, लेकिन मैंने पाया void InjectedScriptHost::copyText(const String& text)में opensource.apple.com/source/WebCore/WebCore-7533.18.1/inspector/...
काई

@ कै, हम्म्म्म ... ऐसा लग रहा है कि शायद इसे Apple के ओपन सोर्स वेबकिट में बनाया गया है?
माइक ग्रेस

दुर्भाग्य से यह कमांड क्रोम एक्सटेंशन से काम नहीं करता है, इसलिए यह WebKit में डेवलपर टूल कंसोल के लिए विशिष्ट होना चाहिए।
एटॉमिक्यूल्स

यह भी सफारी के साथ काम करता है की पुष्टि करें। अच्छा लगा!
bizi

जवाबों:


62

मेरा मानना ​​है कि ये पूर्वनिर्धारित फायरबग कंसोल फ़ंक्शंस हैं - कम से कम फायरबग के मामले में ऐसा लगता है। यदि आप window.copyउदाहरण के लिए कॉल करने का प्रयास करते हैं , तो आपको फ़ंक्शन परिभाषित नहीं होने के बारे में चेतावनी मिलेगी, इसलिए यह निश्चित रूप से ब्राउज़र फ़ंक्शन नहीं है, और सामान्य जावास्क्रिप्ट फ़ाइलों में इसका उपयोग नहीं किया जा सकता है। निम्नलिखित कार्य भी जावास्क्रिप्ट कंसोल में काम करने के लिए लगता है, इसके साथ थोड़ा खेलने के बाद:

  • clear()
  • profile()

क्रोम कंसोल में इन्हें चलाने से वेबकिट कंसोल में इन कार्यों के पीछे के स्रोत का पता चलता है:

> 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);
}

जबकि फायरबग स्रोत भी कार्यों की एक सूची को परिभाषित करता है:

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...

2
ऐसा लगता है कि नोड-इंस्पेक्टर डीबगिंग कंसोल का उपयोग करते समय यह क्रोम 44 में काम नहीं करता है। Clipboard is not enabled in hosted mode. Please inspect using chrome://inspect
जुल्म

1
अच्छा लगा। यह क्रोम संस्करण 61.0.3163.100 (आधिकारिक बिल्ड) (64-बिट) में काम करता है!
शनीमल

1
मेरे क्रोम डेवलपर टूल पर ऐसा लगता है कि यह काम कर रहा है और यह भी काम करता है window.copy('content')(फ़ायरफ़ॉक्स पर केवल copy('content')काम करता है)
morhook

1

यहां आप Chrome देव टूल की संदर्भ प्रतिलिपि कमांड देख सकते हैं: https://developers.google.com/web/tools/chrome-devtools/console/utilities#copy

आपको वास्तविक जेएस क्रॉस-ब्राउज़र पर इस कमांड का उपयोग नहीं करना चाहिए (केवल कंसोल पर डिबगिंग के लिए बोलने के लिए)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.