साल पहले, मैं एक के लिए निम्नलिखित समारोह लिखा था मेरी Firefox ऐड-ऑन जो मुझे एक मंच विशिष्ट न्यू लाइन चरित्र प्राप्त मदद करता है:जावास्क्रिप्ट में प्लेटफ़ॉर्म विशिष्ट न्यूलाइन वर्ण प्राप्त करना?
GetNewLine: function()
{
var platform = navigator.platform.toLowerCase();
if(platform.indexOf('win') != -1) // Windows
return "\r\n";
else if(platform.indexOf('mac') != -1) // Mac
return "\r";
else // *nix
return "\n";
}
यह ठीक से काम करने लगता है, लेकिन newline Wikipedia article पढ़ने के बाद मैं ने कहा कि हाल ही में ऐप्पल ऑपरेटिंग सिस्टम (ओएस एक्स और बाद में) अब यूनिक्स स्टाइल \n
लाइन एंडिंग का उपयोग करते हैं। इस प्रकार, मेरा मामला उस मामले के लिए गलत चीज़ वापस कर रहा है (मेरे पास मैक ओएस नहीं है जिस पर इसका परीक्षण किया जाए)।
क्या कोई तरीका है कि मैं फ़ायरफ़ॉक्स प्राप्त कर सकता हूं कि प्लेटफॉर्म-विशिष्ट न्यूलाइन कैरेक्टर क्या है? शायद कुछ प्रकार के अंतर्निर्मित उपयोगिता फ़ंक्शन? मैं अपने एक्सटेंशन लिखने वाली टेक्स्ट फाइलों में इन न्यूलाइन का उपयोग कर रहा हूं, और मैं प्लेटफार्म विशिष्ट एक का उपयोग करना चाहता हूं, ताकि फाइलें विभिन्न प्रणालियों में उपयुक्त दिखें।
अद्यतन (2013/02/13): तो एक मैक मिनी पर navigator.platform.toLowerCase()
समारोह कॉल (ओएस एक्स) चल रहा है पर, मैं उत्पादन मूल्य macintel
मिलता है। इसके परिणामस्वरूप मेरा कार्य \n
के बजाय \r
लौटाएगा जैसा कि इसे करना चाहिए।
मेरा उत्तर नहीं बल्कि एक स्मार्ट वाला: http://stackoverflow.com/a/1156388/1883464 – runspired
वहां एक एपीआई है ([nsLinebreakConverter.cpp] (http://mxr.mozilla.org/mozilla-central/source/xpcom/io/nsLinebreakConverter.cpp) [nsLinebreakConverter.h] (http://mxr.mozilla.org/ मोज़िला-मध्य/स्रोत/xpcom/io/nsLinebreakConverter.h)), लेकिन जैसा कि आप इसे पुराना देख सकते हैं, और अधिक महत्वपूर्ण बात यह है कि यह केवल आंतरिक उपयोग के लिए है। – paa