Пути

Как сделать так, чтобы HTML-ссылка открывала папку

Мне нужно разрешить пользователям приложения открывать папку, щелкая ссылку на веб-странице. Путь к папке находится в сети и доступен отовсюду. Я наверное уверен, что нет простого способа сделать это, но может я ошибаюсь?

Я ответил ниже; это обычное требование корпоративных веб-приложений, которое становится практически невозможным из-за неправильной защиты (должна быть возможность разрешить файловые ссылки на доверенных http-страницах). Я только тщательно тестировал Windows.

Вы хотите открыть общую папку в проводнике Windows? Вам нужно использовать file: ссылку, но есть предостережения:

  • Internet Explorer будет работать, если ссылка представляет собой преобразованный путь UNC ( file://server/share/folder/ ).
  • Firefox будет работать, если ссылка находится в собственной искаженной форме с использованием пяти косых черт ( file://///server/share/folder ) и пользователь отключил ограничение безопасности для file: ссылок на странице, обслуживаемой через HTTP . К счастью, IE также принимает искаженную форму ссылки.
  • Opera, Safari и Chrome невозможно убедить открыть file: ссылку на странице, обслуживаемой через HTTP.

в IE, только если путь UNC и веб-сайт, содержащий ссылку, находятся в одном домене, то есть только во внутренней сети.

Я думаю, что это больше не правильно — новые версии IE, похоже, блокируют это поведение так же, как Chrome / Safari и т. Д.

Я просто пробовал это в IE 11, и вы фактически можете открыть локальный файл, не загружая его (как при открытии уже существующего пути к файлу). Этого еще нет в хроме.

Читайте также:  Css class for page title

Вы можете заставить это работать в Chrome с помощью расширения LocalLinks Chrome . Благодаря этому ответу StackOverflow

@ Эндрю Даффи, есть ли какая-либо документация, в которой говорится, что Google Chrome блокирует такое поведение? Я хотел бы узнать об этом побольше

URL-адрес file://[servername]/[sharename] должен открывать окно проводника для общей папки в сети.

убедитесь, что права доступа к вашей папке установлены так, что разрешен список каталогов, а затем просто укажите привязку к этой папке с помощью chmod 701 (хотя это может быть рискованно), например

 href="./downloads/folder_i_want_to_display/" >Go to downloads page 

убедитесь, что у вас нет index.html любого индексного файла в этом каталоге

Этот ответ работает. Часть «разрешенный список каталогов» очень важна. Если это не разрешено, вы можете включить его, но для каждого серверного приложения он разный.

Использование file: ///// просто не работает, если настройки безопасности установлены даже на средний уровень.

Если вы просто хотите, чтобы пользователи могли загружать / просматривать файлы *, расположенные в сети или совместно используемые, вы можете настроить виртуальный каталог в IIS. На вкладке «Свойства» убедитесь, что выбран «Общий ресурс, расположенный на другом компьютере», а «Подключиться как . » — это учетная запись, которая может видеть сетевое расположение.

Ссылка на виртуальный каталог со своей веб-страницы (например, http: // yoursite / yourvirtualdir / ), и это откроет представление каталога в веб-браузере.

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

Это актуально сегодня, поскольку Chrome и более новые версии IE будут блокировать доступ к локальным ресурсам file: // с нефайловых веб-страниц. Кроме того, его можно настроить для работы в IIS Express, хотя его необходимо добавить и запустить вручную.

Не работает в Chrome, но другие ответы предлагают решение через плагин:

Источник

Почему изображения на странице видны только на моем компьютере и не отображаются на другом?

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

Пример 1. Изображение видно только на моем компьютере

       

Чтобы устранить указанный недостаток, необходимо искоренять локальные адреса и заменять их относительными. Тогда значение атрибута src в примере 1 заменится на images/screenshot.png . В примере 2 показаны варианты указания адресов изображений на странице.

Пример 2. Адреса изображений

      

Путь к файлу 1.png, расположенному в папке images

Папка images лежит в корне сайта

Перейти на уровень выше в иерархии папок и открыть файл 3.png, расположенный в папке images

Не выкладывайте свой код напрямую в комментариях, он отображается некорректно. Воспользуйтесь сервисом cssdeck.com или jsfiddle.net, сохраните код и в комментариях дайте на него ссылку. Так и результат сразу увидят.

Популярные рецепты

  • Как добавить картинку на веб-страницу?
  • Как добавить иконку сайта в адресную строку браузера?
  • Как добавить фоновый рисунок на веб-страницу?
  • Как сделать обтекание картинки текстом?
  • Как растянуть фон на всю ширину окна?
  • Как выровнять фотографию по центру веб-страницы?
  • Как разместить элементы списка горизонтально?
  • Как убрать подчеркивание у ссылок?
  • Как убрать маркеры в маркированном списке?
  • Как изменить расстояние между строками текста?
  • Как сделать, чтобы картинка менялась при наведении на нее курсора мыши?
  • Как открыть ссылку в новом окне?

Источник

Как сделать так, чтобы HTML-ссылка открывала папку

Мне нужно разрешить пользователям приложения открывать папку, щелкая ссылку на веб-странице. Путь к папке находится в сети, и к ней можно получить доступ отовсюду. Я, наверное, уверен, что нет простого способа сделать это, но может я ошибаюсь?

Я ответил ниже; это обычное требование корпоративных веб-приложений, которое становится практически невозможным из-за неправильной защиты (должна быть возможность разрешить ссылки на файлы на доверенных http-страницах). Я только тщательно тестировал Windows. — Andrew Duffy

9 ответы

  • Internet Explorer будет работать, если ссылка представляет собой преобразованный путь UNC ( file://server/share/folder/ ).
  • Firefox будет работать, если ссылка находится в собственной искаженной форме с использованием пяти слэшей ( file://///server/share/folder ) и у пользователя есть отключил ограничение безопасности на file: ссылки на странице, обслуживаемой через HTTP. К счастью, IE также принимает искаженную форму ссылки.
  • Opera, Safari и Chrome невозможно убедить открыть file: ссылка на странице, обслуживаемой через HTTP.

в IE, только если путь UNC и веб-сайт, содержащий ссылку, находятся в одном домене, то есть только во внутренней сети. — Стефан Штайгер

Я думаю, что это больше не правильно — новые версии IE, похоже, блокируют это поведение так же, как Chrome / Safari и т. Д. — ЗикЛТК

Я просто пробовал это в IE 11, и вы фактически можете открыть локальный файл, не загружая его (как при открытии уже существующего пути к файлу). Этого все еще нет в хроме. — Хохоходаун

@ Эндрю Даффи, есть ли какая-либо документация, в которой говорится, что Google Chrome блокирует такое поведение? Хотелось бы узнать об этом побольше — каламбур

URL file://[servername]/[sharename] должен открыть окно проводника для общей папки в сети.

убедитесь, что права доступа к вашей папке установлены так, что разрешен список каталогов, а затем просто укажите привязку к этой папке с помощью chmod 701 (хотя это может быть рискованно), например

убедитесь, что у вас нет index.html любого индексного файла в этом каталоге

Этот ответ работает. Часть «разрешенный список каталогов» очень важна. Если это не разрешено, вы можете включить его, но для каждого серверного приложения он разный. — Трэвис

Использование file: ///// просто не работает, если настройки безопасности установлены даже на средний уровень.

Если вы просто хотите, чтобы пользователи могли загружать / просматривать файлы *, расположенные в сети или совместно используемые, вы можете настроить виртуальный каталог в IIS. На вкладке «Свойства» убедитесь, что выбран «Общий ресурс, расположенный на другом компьютере», а «Подключиться как . » — это учетная запись, которая может видеть сетевое расположение.

Ссылка на виртуальный каталог с вашей веб-страницы (например, http://yoursite/yourvirtualdir/), и это откроет представление каталога в веб-браузере.

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

Это актуально сегодня, поскольку Chrome и более новые версии IE будут блокировать доступ к локальным ресурсам file: // с нефайловых веб-страниц. Кроме того, его можно настроить для работы в IIS Express, хотя его необходимо добавить и запустить вручную. — Шмули

Не работает в Chrome, но другие ответы предлагают решение через плагин:

Вы также можете скопировать адрес ссылки и вставить его в новое окно, чтобы обойти безопасность. Это работает в Chrome и Firefox, но вам, возможно, придется добавить косые черты в Firefox.

Просто так и работает. Спасибо! — Никита

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

Я использую xampp на ноутбуке для запуска чисто локального веб-приложения в Windows. (Очень специфическая среда, которую я знаю). В этом случае я использую ссылку html на файл php и запускаю:

shell_exec('cd C:\path\to\file'); shell_exec('start .'); 

Откроется окно локального проводника Windows.

Многообещающе, но когда я запускаю это в Firefox, вкладка зависает. (Кажется, что сеанс перемешивается или что-то в этом роде, потому что я могу получить доступ к другим сайтам, но этот сайт кажется зависшим — даже на других вкладках!) — Стивен Р.

Я только что протестировал его в Firefox, у меня он работает, но я не могу указать папку, в которой открывать, он открывается только в корневом каталоге файла php. — Лукас Таулеалеа

Надеюсь, это когда-нибудь поможет кому-то. Я делал небольшой POC и наткнулся на это. Кнопка, onClick отображает содержимое папки. Ниже приведен HTML-код,

ответ дан 09 мар ’20, в 07:03

Chrome выдает ошибку: не разрешено загружать локальный ресурс: — Дэйв Соттимано

@Dave Sottimano Я тестировал это только сейчас. У меня работает в Google Chrome, версия 84.0.4147.135 (официальная сборка) (64-разрядная версия) — Нагараджа Дж. Б.

Я решил установить локальную веб-службу на каждом компьютере, который прослушивает порт. 9999 например, и по запросу открывает каталог локально. Мой пример экспресс-приложения node.js:

import < createServer, Server >from "http"; // server import express from "express"; import cors from "cors"; import bodyParser from "body-parser"; // other import util from 'util'; const exec = util.promisify(require('child_process').exec); export class EdsHelper < debug: boolean = true; port: number = 9999 app: express.Application; server: Server; constructor() < // create app this.app = express(); this.app.use(cors()); this.app.use(bodyParser.json()); this.app.use(bodyParser.urlencoded(< extended: true >)); // create server this.server = createServer(this.app); // setup websockets this.setup_routes(); this.listen(); console.info("server initialized"); > private setup_routes(): void < this.app.post("/open_dir", async (req: any, res: any) => < try < if (this.debug) < console.debug("open_dir"); >// get path // C:\Users\ADunsmoor\Documents const path: string = req.body.path; // execute command const < stdout, stderr >= await exec(`start "" "$"`, < // detached: true, // stdio: "ignore", //windowsHide: true, // causes directory not to open sometimes? >); if (stderr) < throw stderr; >else < // return OK res.status(200).send(<>); > > catch (error) < console.error("open_dir >> error = " + error); res.status(500).send(error); > >); > private listen(): void < this.server.listen(this.port, () =>< console.info("Running server on port " + this.port.toString()); >); > public getApp(): express.Application < return this.app; >> 

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

ответ дан 05 мар ’21, в 19:03

Источник

пишу HTML вставляю картинку но она не открывается в браузере что делать .

Картинка в компе, в папке с HTML файлом)
Добавлено 2 минуты назадога в браузере видна) но просто как прямойгольничек а в нем написано «изображение» и все дальше не открывается=(((( вот код : скобки IMG SRC=»image/11.jpg» скобки

В учебнике HTML (Теги HTML — img — Атрибут src) сказано:
Синтаксис
В качестве значения принимается полный или относительный путь к файлу.
В Вашем вопросе — адрес относительный. Проверяем его по учебнику:
Значения атрибутов тегов. — Адрес
Цитирую оттуда пример относительного адреса, полностью соответствующий Вашему тексту:

manual/info.html
Если перед именем папки нет никаких дополнительных символов, вроде точек или слэша, то папка размещена внутри текущего каталога, а уже в ней располагается файл info.html.

Ваня, адрес, который Вы указали, означает, что файл 11.jpg находится не внутри текущего каталога, не «в папке с HTML файлом», как Вам было нужно!
А во вложенной в нее папке.
В соответствии с адресом, программа ищет файл картинки не в той папке — и не находит его!

Чтобы файл, находящийся в одной папке с файлом HTML, был найден, нужно написать так:

Как сказано там же в учебнике:
«Например, код означает загрузить графический файл с именем pic.gif, который располагается в той же папке, что и сама веб-страница. »
Попробуйте отредактировать свой тег и убедитесь!

P.S. Если будут возникать еще проблемы, сверяйтесь с учебником htmlbook.ru — Для тех. кто делает сайты.
Успехов!

img src=»https://otvet.mail.ru/question/kartinka.jpg» width=»184″ height=»110″ title=»Эмблема сайта»

А вообще, скачай программу nvu, горя знать не будешь) ) одно удовольствие сайты клепать

Источник

Оцените статью