D3, видимая в Firefox, но не в Chrome [duplicate]

Это произошло со мной снова, вместе с сервером, загружающим html-файлы, а не обработкой. Я не использовал веб-сервер Apache некоторое время на компьютере, а между тем Ubuntu обновлялся как еще две версии изначально установленных LTS. Теперь это

$ cat /etc/issue
Ubuntu 16.04 LTS

Итак, php работал так:

$ sudo apt-get install lamp-server^
$ sudo a2enmod php7.0
$ sudo service apache2 restart 

Теперь веб-сервер разбирал php. Возможно, теперь вам нужно обновить некоторые веб-страницы, так как теперь php7.0 работает там, где это было до запуска php5. О, хорошо.

659
задан corazza 2 December 2014 в 13:33
поделиться

22 ответа

Мой хрустальный шар говорит, что вы загружаете модель, используя либо file://, либо C:/, которые остаются верными сообщению об ошибке, поскольку они не http://

. Таким образом, вы можете установить веб-сервер на локальном компьютере или загрузите модель в другое место и используйте jsonp и измените URL-адрес на http://example.com/path/to/model

656
ответ дан Andreas Wong 21 August 2018 в 03:45
поделиться
  • 1
    Да, я пытаюсь сделать это, используя file://, но я не понимаю, почему это разрешено. Ну, я устанавливаю Lampp, я думаю ... – corazza 25 May 2012 в 10:46
  • 2
    Представьте, если это разрешено, и веб-приложение, в котором автор страницы использует что-то вроде load('file://C:/users/user/supersecret.doc'), а затем загружает контент на свой сервер с помощью ajax и т. Д. – Andreas Wong 25 May 2012 в 10:50
  • 3
    к сожалению, политика делается для всех случаев не только для вас :(, поэтому вы должны нести это – Andreas Wong 25 May 2012 в 10:54
  • 4
    Существует страница для этой темы в GitHub wiki: github.com/mrdoob/three.js/wiki/How-to-run-things-locally – Felipe Lima 29 May 2012 в 09:18
  • 5
    Вы также можете использовать переключатель --allow-file-access-from-files в chrome. На мой ответ здесь: stackoverflow.com/questions/8449716/… – prauchfuss 8 September 2013 в 20:43

Для всех y'all на MacOS ... установите простой LaunchAgent , чтобы включить эти гламурные возможности в вашей собственной копии Chrome ...

Сохраните plist, названный любым (например, launch.chrome.dev.mode.plist) в ~/Library/LaunchAgents с похожим контентом, чтобы ...

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>launch.chrome.dev.mode</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Applications/Google Chrome.app/Contents/MacOS/Google Chrome</string>
        <string>-allow-file-access-from-files</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

Он должен запускаться при запуске , но вы можете заставить его сделать это в любое время с помощью команды терминала

launchctl load -w ~/Library/LaunchAgents/launch.chrome.dev.mode.plist

TADA!

0
ответ дан Alex Gray 21 August 2018 в 03:45
поделиться

Я собираюсь перечислить 3 разных подхода к решению этой проблемы:

  1. Использование очень легкого пакета npm: установите live-server , используя npm install -g live-server. Затем перейдите в этот каталог, откройте терминал и введите live-server и нажмите enter, страница будет отправлена ​​на localhost:8080. БОНУС: он также поддерживает горячую перезагрузку по умолчанию.
  2. Используя небольшое приложение Google Chrome , разработанное Google: затем установите приложение, перейдите на вкладку приложений в Chrome и откройте приложение. , В приложении укажите его в нужную папку. Ваша страница будет подана!
  3. Изменение ярлыка Chrome в окнах: создание ярлыка браузера Chrome. Щелкните правой кнопкой мыши значок и откройте свойства. В свойствах отредактируйте target до "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir="C:/ChromeDevSession" и сохраните. Затем с помощью Chrome откройте страницу с помощью ctrl+o. ПРИМЕЧАНИЕ. НЕ используйте этот ярлык для регулярного просмотра.
6
ответ дан BlackBeard 21 August 2018 в 03:45
поделиться

Для тех, кто в Windows без Python или Node.js, есть еще легкое решение: Mongoose .

Все, что вы делаете, это перетащить исполняемый файл туда, где корень сервер должен быть и запустить его. На панели задач появится значок и он перейдет на сервер в браузере по умолчанию.

Кроме того, Z-WAMP - это 100% портативный WAMP, который запускается в одном папка, это потрясающе. Это вариант, если вам нужен быстрый сервер PHP и MySQL.

10
ответ дан bryc 21 August 2018 в 03:45
поделиться

В Android-приложении & mdash; например, чтобы позволить JavaScript иметь доступ к активам через file:///android_asset/ & mdash; используйте setAllowFileAccessFromFileURLs(true) на WebSettings, который вы получаете от вызова getSettings() на WebView.

11
ответ дан CommonsWare 21 August 2018 в 03:45
поделиться
  • 1
    Brilliant! Мы как раз собирались переписать методы для ввода JSON в переменные .. но это работает! . WebView.getSettings () setAllowFileAccessFromFileURLs (истина); – WallyHale 17 August 2017 в 08:54

Я получал эту точную ошибку при загрузке HTML-файла в браузере, который использовал json-файл из локального каталога. В моем случае я смог решить это, создав простой сервер узлов, который позволил статическому контенту сервера. Я оставил код для этого в этом другом ответе .

141
ответ дан Community 21 August 2018 в 03:45
поделиться
  • 1
    Это не работает для кофе-скриптов. – Blairg23 14 October 2014 в 06:03
  • 2
    @ Blairg23, имейте в виду, что это решение требует перезапуска всех экземпляров Chrome.exe для его работы – Alex Klaus 16 June 2015 в 23:41
  • 3
    Пожалуйста, объясните, как использовать его в хроме. – Rishabh Agrahari 28 August 2017 в 08:12
  • 4
    @Priya Не стоит этого делать – Suraj Jain 17 December 2017 в 07:12
  • 5
    Я бы предложил использовать Chromium только для локальной отладки (начиная с флага --allow-file-access-from-files). Это означает использование Chrome для обычного просмотра веб-страниц и использование Chromium в качестве приложения по умолчанию для HTML-файла. – Alan Zhiliang Feng 14 May 2018 в 11:23

Подходим к этому сегодня.

Я написал код, который выглядит так:

app.controller('ctrlr', function($scope, $http){
    $http.get('localhost:3000').success(function(data) {
        $scope.stuff = data;
    });
});

... но он должен был выглядеть так:

app.controller('ctrlr', function($scope, $http){
    $http.get('http://localhost:3000').success(function(data) {
        $scope.stuff = data;
    });
});

Единственное различие заключалось в отсутствии http:// во втором фрагменте кода.

Просто хотелось поместить это там, если есть другие, имеющие аналогичную проблему.

51
ответ дан corazza 21 August 2018 в 03:45
поделиться

Я предлагаю вам использовать мини-сервер для запуска таких приложений на локальном хосте (если вы не используете какой-либо встроенный сервер).

Вот что очень просто настроить и запустить:

https://www.npmjs.com/package/tiny-server
2
ответ дан Deniss M. 21 August 2018 в 03:45
поделиться

Он просто говорит, что приложение должно запускаться на веб-сервере. У меня была такая же проблема с хром, я начал tomcat и перенесла туда свое приложение, и оно сработало.

1
ответ дан Enayat Rajabi 21 August 2018 в 03:45
поделиться
  • Установите локальный веб-сервер для java, например Tomcat, для php вы можете использовать лампу и т. д.
  • Отбросить json-файл в общедоступном каталоге сервера приложений
  • Запустите сервер приложений, и вы сможете получить доступ к файлу из localhost
0
ответ дан Fred Ondieki 21 August 2018 в 03:45
поделиться

Я также смог воссоздать это сообщение об ошибке при использовании тега привязки со следующим href:

<a href="javascript:">Example a tag</a>

В моем случае для получения «курсора указателя» использовался тег «a», и событие фактически контролировалось некоторым событием jQuery при щелчке. Я удалил href и добавил класс, который применяется:

cursor:pointer;

0
ответ дан mgilberties 21 August 2018 в 03:45
поделиться

Один из способов загрузки локальных файлов - использовать их в папке проекта вместо внешней папки проекта. Создайте одну папку в файлах вашего проекта, аналогичную тому, как мы создаем для изображений, и заменим раздел, где используется полный локальный путь, отличный от пути к проекту, и используйте относительный URL-файл файла в папке проекта. Это сработало для меня

0
ответ дан Naga Sai A 21 August 2018 в 03:45
поделиться

Многие проблемы для этого, с моей проблемой отсутствует «/»: jquery-1.10.2.js: 8720 XMLHttpRequest не может загрузить http: // localhost: xxxProduct / getList_tagLabels / Это должно быть : http: // localhost: xxx / Product / getList_tagLabels /

Надеюсь, эта помощь поможет вам решить эту проблему.

-1
ответ дан Ngô Đức Tuấn 21 August 2018 в 03:45
поделиться

Просто для того, чтобы быть явным. Да, ошибка говорит о том, что вы не можете указывать свой браузер прямо на file://some/path/some.html

. Вот несколько вариантов быстрого развертывания локального веб-сервера, чтобы ваш браузер отображал локальные файлы

Python 2

Если у вас установлен Python ...

  1. Измените каталог в папку, где находится ваш файл some.html или файл (ы) существует с помощью команды cd /path/to/your/folder
  2. Запустите веб-сервер Python с помощью команды python -m SimpleHTTPServer

. Это запустит веб-сервер для размещения всего вашего каталога в списке на странице http://localhost:8000

  1. Вы можете использовать пользовательский порт python -m SimpleHTTPServer 9000, предоставляющий ссылку: http://localhost:9000

Этот подход встроен в любую установку Python.

Python 3

Выполняйте те же действия, но используйте следующую команду: python3 -m http.server

Node.js

В качестве альтернативы, если вы требуете более гибкой настройки и уже используете nodejs ...

  1. Установите http-server, набрав npm install -g http-server
  2. Замените ваш рабочий каталог, где ваш some.html жизни
  3. Звезда t ваш http-сервер, выпуская http-server -c-1

. Это приводит к созданию файла Node.js httpd, который обслуживает файлы в вашем каталоге как статические файлы, доступные из http://localhost:8080

Ruby

Если ваш предпочтительный язык Ruby ..., то Ruby Gods говорят, что это работает также:

ruby -run -e httpd . -p 8080

PHP

Конечно, PHP также имеет свои решение.

php -S localhost:8000
488
ответ дан Scott Stensland 21 August 2018 в 03:45
поделиться
  • 1
    Это сэкономило мне много времени. У моей установки Python не был модуль SimpleHTTPServer, но инструкции узла работали как шарм. – LukeP 25 July 2014 в 04:42
  • 2
    Спасибо огромное! У меня была эта ошибка с coffeescript и я не мог понять, в чем была моя проблема. Это исправлено! – Blairg23 14 October 2014 в 05:41
  • 3
    В ответ на комментарий LukeP в python 2.7 команда работает в соответствии с инструкциями $ python -m SimpleHTTPServer, которые вызывают сообщение: Serving HTTP on 0.0.0.0 port 8000 ... Если вы неправильно написали имя модуля, например. $ python -m SimpleHttpServer, тогда вы получите сообщение об ошибке No module named SimpleHttpServer. Если вы установили python3 (v. python 2.7), вы получите аналогичное сообщение об ошибке. Вы можете проверить свою версию python с помощью команды: $ python --version. Вы также можете указать порт для прослушивания следующим образом: $ python -m SimpleHTTPServer 3333 – 7stud 20 November 2014 в 02:06
  • 4
    Сервер python обслуживает файлы из каталога, в котором вы запускаете сервер. Поэтому, если файлы, которые вы хотите обслуживать, находятся в / Users / 7stud / angular_projects / 1app, затем запустите сервер в этом каталоге, например. $ cd ~/angular_projects/1app, затем $ python -m SimpleHTTPServer. В браузере введите url http://localhost:8000/index.html. Вы также можете запросить файлы в подкаталогах каталога, в котором вы запустили сервер, например. http://localhost:8000/subdir/hello.html – 7stud 20 November 2014 в 02:18
  • 5
    Я слышал, что Python прост и силен, как и «X». язык, но это смешно! Не нужно устанавливать XAMPP или настраивать простой HTTP-сервер js с узлом для обслуживания статических файлов - одна команда и бум! Большое вам спасибо, экономит много времени и хлопот. – R.D. 31 May 2016 в 17:59

Невозможно загрузить статические локальные файлы (например: svg) без сервера. Если на вашем компьютере установлен NPM / YARN, вы можете настроить простой http-сервер, используя « http-server »

npm install http-server -g
http-server [path] [options]

Или открыть терминал в этой папке проекта и введите «hs». Он автоматически начнет сервер HTTP live.

0
ответ дан sujithklr93 21 August 2018 в 03:45
поделиться

Просто измените url на http://localhost вместо localhost. Если вы откроете файл html из локального, вы должны создать локальный сервер для работы с этим html-файлом, самый простой способ - Web Server for Chrome . Это устранит проблему.

25
ответ дан vaxquis 21 August 2018 в 03:45
поделиться
  • 1
    +1 для ссылки Web Server for Chrome app - это, безусловно, самый простой и amp; самое чистое решение для временной установки httpd для Chrome IMO – vaxquis 8 July 2017 в 13:08
  • 2
    Безусловно, самое простое решение. – vineet kapoor 13 August 2017 в 13:15
  • 3
    Возможно, вы только что сохранили то, что осталось от моих волос. – Ian 5 March 2018 в 16:43

Если вы используете Mozilla Firefox, он будет работать как ожидалось без каких-либо проблем;

P.S. Даже IE_Edge работает отлично, удивительно !!

6
ответ дан Yash P Shah 21 August 2018 в 03:45
поделиться

эр. Я только что нашел некоторые официальные слова: «Попытка загрузить незастроенные удаленные модули AMD, использующие додзе / текстовый плагин, не будет выполнена из-за ограничений безопасности для кросс-оригинала. (Встроенные версии модулей AMD не подвержены влиянию, поскольку вызовы dojo / text устраняются система сборки.) " https://dojotoolkit.org/documentation/tutorials/1.10/cdn/

0
ответ дан YUIOP QWERT 21 August 2018 в 03:45
поделиться
1
ответ дан Rezzag Ridha 31 October 2018 в 23:06
поделиться
0
ответ дан TarmoPikaro 31 October 2018 в 23:06
поделиться
145
ответ дан Community 31 October 2018 в 23:06
поделиться
0
ответ дан KARTHIKEYAN.A 31 October 2018 в 23:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: