Chrome - "--allow-file-access-from-files" मोड पर HTML का उपयोग कैसे करें?


124

मैं के साथ एक ही स्थिति है यहाँ

और इस समस्या को हल करने के लिए मुझे क्रोम पर "--allow-file-access-from-files" मोड का उपयोग करके html फ़ाइल लॉन्च करना होगा। मैंने कई बार अगले चरणों की कोशिश की, लेकिन यह काम नहीं करता है।

  1. विंडो 7 के तहत cmd शुरू करें
  2. chrome.exe फ़ोल्डर में प्रत्यक्ष
  3. यह करो chrome --allow-file-access-from-files file:///C:/test%20-%203.html

1
आप उसके लिए एक क्रोम प्लगइन का उपयोग भी कर सकते हैं। मुझे यह सबसे व्यावहारिक तरीका लगता है। यह सिर्फ एक उदाहरण है: chrome.google.com/webstore/detail/allow-control-allow-origi/…
रॉबर्ट परकस

5
यदि आप fileप्रोटोकॉल का उपयोग कर रहे हैं तो @RobertParcus वह प्लगइन काम नहीं करता है।
एंड्रयू थडियस मार्टिन

जवाबों:


81

अपने Chrome निष्पादन योग्य के पथ को खोजें और फिर, अपने cmd पर, प्रयास करें:

> "C:\PathTo\Chrome.exe" --allow-file-access-from-files

स्रोत

संपादित करें: जैसा कि मैंने आपके प्रश्न पर देखा है, यह मत भूलो कि विंडोज यूनिक्स के समान थोड़ा सा है, इसलिए जब आप "क्रोम ..." टाइप करते हैं, तो cmd PATH में Chrome की खोज करेगा, लेकिन सामान्य तौर पर Chrome फ़ोल्डर isn पथ पर टी। इसके अलावा, आप अपने निष्पादन योग्य के लिए कोई एक्सटेंशन निर्दिष्ट नहीं करते हैं ... इसलिए यदि आप क्रोम के फ़ोल्डर में जाते हैं, तो यह कमांड संभवतः भी काम करेगा:

> .\chrome.exe --allow-file-access-from-files

2
मैंने अपने कंप्यूटर को पुनरारंभ किया और जैसा आप कहते हैं, वैसा ही करें और यह ठीक लगता है। धन्यवाद।
AmyWuGo

2
फिलिप की टिप्पणी के अनुसार, आपको सभी क्रोम प्रक्रियाओं से बाहर निकलने और कमांड लाइन विकल्प के साथ पुनरारंभ करने की आवश्यकता है। (विंडोज
योयो

2
यदि यह क्रोम को पुनरारंभ करने के बाद काम नहीं कर रहा है, तो चल रही पृष्ठभूमि प्रक्रियाओं (घड़ियों के पास क्रोम आइकन) की जांच करें। आपके पास "Google Chrome को पृष्ठभूमि में चलने दें" विकल्प चालू हो सकता है।
एलेक्स क्लॉज़

1
@ अब्दुल हां, बिल्कुल, जब तक आप ध्वज के साथ एक शॉर्टकट नहीं बनाते हैं और उसमें से क्रोम शुरू करते हैं।
मोहम्मद अमीन

3
विंडोज पॉवरशेल से स्टार क्रोम:Start-Process "chrome.exe" "--allow-file-access-from-files"
पेपे एलजी

114

वो झंडा खतरनाक है !! अपने फ़ाइल सिस्टम को एक्सेस के लिए खुला छोड़ देता है। कहीं भी, स्थानीय या वेब से उत्पन्न होने वाले दस्तावेज़ों को डिफ़ॉल्ट रूप से स्थानीय फ़ाइल: /// संसाधनों तक पहुंच नहीं होनी चाहिए।

स्थानीय स्तर पर थोड़ा http सर्वर चलाने के लिए बेहतर समाधान है।

--- विंडोज के लिए ---

नोड के पैकेज मैनेजर का उपयोग करके http- सर्वर को विश्व स्तर पर स्थापित करना सबसे आसान है:

npm install -g http-server

तो बस http-serverअपने किसी भी प्रोजेक्ट डायरेक्टरी में दौड़ें :

उदाहरण के लिए। d:\my_project> http-server

Starting up http-server, serving ./
Available on:
 http:169.254.116.232:8080
 http:192.168.88.1:8080
 http:192.168.0.7:8080
 http:127.0.0.1:8080
Hit CTRL-C to stop the server

या जैसा कि prusswan ने सुझाव दिया है, आप खिड़कियों के नीचे पायथन को भी स्थापित कर सकते हैं, और नीचे दिए गए निर्देशों का पालन कर सकते हैं।

--- के लिए ---

चूंकि पायथन आमतौर पर अधिकांश लिनक्स वितरण में उपलब्ध होता है, बस python -m SimpleHTTPServerआपकी परियोजना निर्देशिका में चलता है, और आप अपना पृष्ठ लोड कर सकते हैंhttp://localhost:8000

पायथन 3 में SimpleHTTPServerमॉड्यूल को मर्ज कर दिया गया है http.server, इसलिए नया कमांड है python3 -m http.server

आसान है, और आपके ब्राउज़र को गलती से असुरक्षित छोड़ने का कोई सुरक्षा जोखिम नहीं है।


9
यह स्वीकार किया जाना चाहिए जवाब! मैं --allow-file-access-to-filesक्रोम (और ओपेरा) के साथ कमांड लाइन विकल्प का उपयोग करने के सही तरीके की तलाश में यहां आया था । आपके उत्तर से मुझे पता चलता है कि मेरा प्रश्न गलत है, एक महत्वपूर्ण कारण के लिए। इन सबसे ऊपर, आपने अपने समाधान को संक्षिप्त, आसान तरीके से लिखा है। एक अरब धन्यवाद! मैं यह भी सुझाव दूंगा, @orszaczky, कि आप मूल रूप से SO प्रश्न के लिए वही उत्तर लिखते हैं जो इस मूल प्रश्न में जुड़ा था, अर्थात यह अन्य प्रश्न । मैं इसे लिख सकता था लेकिन आप श्रेय के पात्र हैं।
एंड्रयू विल्स

24
यह वास्तव में एक महान सुझाव हो सकता है, लेकिन यह वास्तव में सवाल का जवाब नहीं है। सवाल यह नहीं था कि "क्रोम में स्थानीय फ़ाइलों तक पहुंचने का सबसे अच्छा तरीका क्या है" यह विशेष रूप से "मैं इस ध्वज के साथ कैसे लॉन्च करूं"। यदि आप जोखिमों के बारे में जानते हैं और कुछ भी नहीं खोलते हैं जो आपने नहीं बनाया है, या यदि आप ऑनलाइन भी नहीं हैं .. तो यह पूरी तरह से ठीक है। ऐसे कारण हैं कि यह उपयोगी है .. जो मुझे लगता है कि यही कारण है कि Google ने इसे एक विकल्प बनाया है।
तिनमोंकी

2
यह हास्यास्पद है कि आप लोगों को विंडोज पर अजगर के बजाय नोड स्थापित करने की सिफारिश करेंगे, बस इस सरल सर्वर की मेजबानी के लिए। जैसे कि विंडोज के लिए अजगर विकल्प अनुपयुक्त होगा (जो ऐसा नहीं है)। जब आपके पास एक हथौड़ा है, तो सब कुछ एक नाखून की तरह दिखता है?
prusswan

15
यह जवाब सिर्फ डर फैला रहा है। --allow-file-access-from-filesविकल्प के लिए एक की अनुमति देता है file://दूसरे के लिए वेबपेज पहुँच file://बस इतना ही संसाधन,। यह आपके फाइल सिस्टम को खुला नहीं छोड़ता है।
GetFree

3
यह सवाल का जवाब नहीं है। कुछ लोगों को वास्तव में इसकी आवश्यकता हो सकती है, जैसे मैं एक विशेष वेबकिट ऐप लाइब्रेरी सुसंगत यूआईजीटी का उपयोग कर रहा हूं। जब मैं परीक्षण कर रहा हूं, तो मुझे स्थानीय फ़ाइल एक्सेस की आवश्यकता है। BTW, फ़ायरफ़ॉक्स फ़ाइल का समर्थन करता है: // किसी अन्य स्थानीय फ़ाइल को लोड करना।
एरिक

29

आप Chrome के लिए वेब सर्वर आज़माना चाह सकते हैं , जो HTTP का उपयोग कर एक स्थानीय फ़ोल्डर से वेब पेजों की सेवा देता है। यह उपयोग करने के लिए सरल है और ध्वज से बचना होगा, जैसा कि किसी ने ऊपर उल्लेख किया है, आपकी फाइल सिस्टम को कमजोर कर सकता है।

क्रोम के लिए वेब सर्वर का स्क्रीनशॉट


3
प्रतिभाशाली। यह उपयोगकर्ता के अनुकूल समाधान है जिसकी मुझे तलाश थी, धन्यवाद।
jay-danger

1
यह बहुत अच्छा है। वास्तव में इस समस्या के लिए क्या आवश्यक है।
ए। डेनिस

21

इस लेखन के रूप में, ओएस एक्स में, यह आमतौर पर इस तरह दिखेगा

"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --allow-file-access-from-files

यदि आप मेरी तरह एक सनकी हैं, और अपने ऐप्स अंदर डालते हैं ~/Applications, तो यह होगा

"/Users/yougohere/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --allow-file-access-from-files

यदि उनमें से कोई भी काम नहीं कर रहा है, तो chrome://versionअपने क्रोम एड्रेस बार में टाइप करें, और यह आपको बताएगा कि आपको किस "कमांड लाइन" इनवोकेशन का उपयोग करना चाहिए। बस उसी में जोड़ें --allow-file-access-from-files


आपके क्रोम एड्रेस बार में "chrome: // वर्जन, और यह आपको बताएगा कि" कमांड लाइन "इनवोकेशन आपको
किसका

15

यह मत करो! आप हमलों के लिए अपनी मशीन खोल रहे हैं । इसके बजाय एक स्थानीय सर्वर चलाते हैं। यह शेल / टर्मिनल / कमांडलाइन खोलना और टाइप करना जितना आसान है

cd path/to/files
python -m SimpleHTTPServer

फिर अपने ब्राउज़र की ओर इशारा करते हुए

http://localhost:8000

यदि आपको लगता है कि यह बहुत धीमा है तो इस समाधान पर विचार करें


+1 के लिए लिंक करने के लिए stackoverflow.com/questions/12905426/...
ESRogs

1
उन हमलों के लिए कर रहे हैं --disable-web-security, नहीं --allow-file-access-from-files, तो वे काम नहीं करेगा - तो बस लोगों को पता है। जोखिम है, लेकिन यह उस आकार के पास नहीं है।

क्या तुमने भी यह लेख पढ़ा? कम से कम हमलों में से एक के साथ संभव है --allow-file-access-from-files। जब शून्य जोखिम तरीका इतना सरल है तो जोखिम क्यों लें?
जमन

@JoeRocc, डाउनवोट के लिए धन्यवाद और लोगों को उनकी मशीनों को असुरक्षित बनाने में मदद करने के लिए धन्यवाद। आप एक असली नायक हैं
gman

1
यह, इस के अन्य सभी रूपों की तरह, न सही उत्तर है, न ही समस्या। यह तथ्यात्मक रूप से गलत है कि आप क्या सुझाव दे रहे हैं। उस विकल्प के साथ लॉन्च करना आपके मशीन को हमलों के लिए नहीं खोलता है। यह, नियंत्रित तरीके से 'सुरक्षा क्लैंप के मायोपिक / आलसी कार्यान्वयन को अक्षम करता है जो बहुत व्यापक है। एक स्थानीय एचटीएमएल या एसवीजी फ़ाइल को फ़ाइल तक पहुंच होनी चाहिए: प्रोटोकॉल सामग्री, जैसे कि अपनी .css फ़ाइल।
मिनोक

6

यदि आप एक मैक का उपयोग कर रहे हैं, तो आप निम्नलिखित टर्मिनल कमांड का उपयोग कर सकते हैं:

open -a Google\ Chrome --args --allow-file-access-from-files

1

क्रोम के सभी उदाहरणों से बाहर निकलें (बल छोड़ें)। अन्यथा नीचे का कमांड काम नहीं करेगा।

open -a "Google Chrome" --args --allow-file-access-from-files

टर्मिनल में इस कमांड को निष्पादित करने से क्रोम स्थापित हो जाएगा, जहां यह स्थापित है।


1
"सभी उदाहरणों से बाहर निकलें" - यह मेरे अनुभव (लिनक्स पर) में सच है। यह स्पष्ट रूप से एक साझा स्थिति है जिसे केवल एक ताज़ा लॉन्च पर सेट किया जा सकता है।
ब्रेंट बर्नबर्न

0

खिड़कियों पर:

chrome --allow-file-access-from-files file:///C:/test%20-%203.html

लिनक्स पर:

google-chrome --allow-file-access-from-files file:///C:/test%20-%203.html

0
REM Kill all existing instance of chrome 
taskkill /F /IM chrome.exe /T
REM directory path where chrome.exe is located
set chromeLocation="C:\Program Files (x86)\Google\Chrome\Application"
cd %chromeLocation%
cd c:
start chrome.exe --allow-file-access-from-files

.bat फ़ाइल के रूप में ऊपर की पंक्तियों को सहेजें


टास्ककिल / F / IM chrome.exe / T मेरे कंप्यूटर को रिबूट न ​​करने के लिए उपयोगी है
JCH77

0

फाइल के आधार पर जो फाइल सिस्टम में डाली जाएगी, जब तक वह फाइल मालवेयर नहीं होगी, तब तक वह सुरक्षित रहेगी।

लेकिन फाइल सिस्टम को फाइल / राइट्स लिखने / पढ़ने की चिंता न करें, क्योंकि आप उस डायरेक्ट्री सिक्योरिटी (इसे इनहेरिटेंस शामिल कर सकते हैं) को एक उचित एक्सेस राइट और सिक्योरिटी प्रतिबंध दे सकते हैं। उदाहरण: पढ़ना / लिखना / संशोधित करना।

डिफ़ॉल्ट रूप से, फ़ाइल सिस्टम, स्थानीय संग्रहण, और संग्रहण निर्देशिका "\ उपयोगकर्ता [वर्तमान उपयोगकर्ता] \ AppData \ Local \ Google \ Chrome \ उपयोगकर्ता डेटा \ डिफ़ॉल्ट" निर्देशिका पर स्थित हैं।

हालाँकि आप इसे "--user-data-dir" ध्वज का उपयोग करके अनुकूलित कर सकते हैं।

और यह एक नमूना है:

"C:\Program Files (x86)\Google\Application\chrome.exe" --user-data-dir="C:\Chrome_Data\OO7" --allow-file-access-from-files

आशा है कि यह किसी को भी मदद करता है।


0

वैसे एक html चलाने के लिए जल्दी है जिसे CORS द्वारा अनुमति या अवरुद्ध की आवश्यकता है बस VSCODE का उपयोग करके फ़ोल्डर खोलें और "लाइव सर्वर" नामक एक्सटेंशन इंस्टॉल करें

और फिर बस नीचे की तरफ क्लिक करें जो कहता है कि लाइव जाओ, दैट इट। स्क्रीनशॉट

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