PHP без веб-сервера

Статус
Закрыто для дальнейших ответов.

BaNru

Пацифизжу
Команда форума
Регистрация
13.11.2010
Сообщения
4 138
Вот тут наткнулся на противоречие которое меня и сбило, Kein утверждает что js должен подгружать .xml страницы, а BaNru утверждает что .js
Принцип тут похожий. Выбирать тебе. Я вот например не знаю, и не пытался узнать принцип работы на .xml.

Как я понимаю нужно
Нет не правильно.
1) шапку придется писать все равно в каждом файле. Т.е. в любом случае получиться ровно такое количество страниц, сколько их всего. Конечно можно сделать и с применением ajax (об это ниже)
2) в эту шапку вставляем <script type="text/javascript" src="files.js"></script>
3) В этом файле JS присваиваем переменные. См. пример http://banru.narod.ru/_themes/b
4) И только потом в нужном месте уже пишем
Код:
<script>document.write(tvoya_peremennay_naprimer_menu)</script>
Я не говорил что это очень хороший способ. Я говорил в том смысле, что он имеет права на существование, и в данном случае может оказаться полезным.


Что бы каждый раз не писать шапку и прочее, можно как вариант сделать подгрузку контента на ajax
<a href="javascript://" onclick="$('#content').load('путь к файлу отноительный');return false;">1</a>
<div id="content">контент первой страницы</div>
При этом необходимо подключить jQuery
А в файлах достаточно будет писать только сам текст контента.

Пример данная реализации есть тут (щелкай по букавкам)

В любом случае этот тот же статический велосипед, только вид с боку.

Второй вариант вообще можно использовать, и даже будет тебе проще и комфортнее, без первого мной предложенного.
Т.е. Создаем индекс файл (index.html) в котором делаем полное оформление и прочее, и в котором будет сам <div id="content">, в который мы подгружаем другие файлы, в которых только контекстная основа (в доме который построил Джек)
 

kein

Частный случай
Регистрация
23.11.2009
Сообщения
446
Тут важна суть, без разницы в каком формате хранить данные, хоть в JSON, но я обнаружил кое что поинтереснее. Браузеры запрещают читать файловую систему. То есть при попытке читать в скрипт сторонний скрипт после загрузке документа, в протоколе file:// вываливается ошибка доступа. Чего в варианте http:// нет.
Но политика безопасности действует честно говоря неадекватно, в ИЕ вроде бы работает(что-то у меня так другое не работает, не проверял, я его не долюбливаю), а вот в хроме нет. Вообще это правильно запрещать читать файловую систему.

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

UPD. BaNru а теперь попробуйте предложенный метод в файловой системе, а не с веб-сервера и отпишитесь нам о результатах и браузере в котором проводились тетсты ;)
 

BaNru

Пацифизжу
Команда форума
Регистрация
13.11.2010
Сообщения
4 138
kein, ты путаешь некоторые понятия в локальной и глобальной политике.
Если ты откроешь файл по протоколу http(s)://, то да, доступ к локальным файлам будет полностью закрыт. Сталкивался с такой проблемой, когда для онлайн игры надо было прикрутить локальные скины. Ответа я так и не нашел, точнее варианты есть, а вот применить их не получилось.

А вот если ты открываешь файлы по протоколу file://, то и подгрузка по протоколу file:// разрешена всеми браузерами (я вот не помню, но вроде тогда как раз http:// блокируется в некоторых браузерах, но не во всех). Проверил сейчас как на первом варианте так и на втором. Проверил в FF и Opera.

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

:tongue:
 

kein

Частный случай
Регистрация
23.11.2009
Сообщения
446
Код:
test.html
...
<a href="#load.html" onclick="$('#c').load('load.html')">Load</a>
<div id="c"></div>
...
FF - работает.
Opera 11.01 - "XMLHttpRequest to files is disabled for security reasons. Set "Allow File XMLHttpRequest" with opera:config#UserPrefs|AllowFileXMLHttpRequest to disable this security check."
Chrome 10.0.648.151 - "Origin null is not allowed by Access-Control-Allow-Origin."
IE - пока я ему не разрешил специально - отказывался работать. Но после заработал.
 

BaNru

Пацифизжу
Команда форума
Регистрация
13.11.2010
Сообщения
4 138
В опере заходим в opera:config, находим Allow File XMLHttpRequest и ставим галочку.
В хром не знаю, не стоит.
В Осле6 работает без всякого разрешения.

Отсюда вывод? Этот способ имеет право на существование в случае ТС.
 

Вложения

  • 24,7 КБ Просмотры: 35

kein

Частный случай
Регистрация
23.11.2009
Сообщения
446
Так кто знает какой вариант у ТСа)) Мой препод был адеватный, и такую бы задачу странную не предложил, а если бы и предложил, он бы запретил что-то менять в конфигах - потому что это сложно простым пользователям) Это же похоже на учителя в школе))
 

BaNru

Пацифизжу
Команда форума
Регистрация
13.11.2010
Сообщения
4 138
Пофлудим?

Согласись, но целые сайты не работают без серверной стороны. И навряд ли пользователь который сможет скачать целый сайт целиком - не сможет поменять конфиги.

А ТС, в первом посте сказал, что у него есть готовый сайт, но на PHP, и он не хотел бы создавать сотню однотипных файлов с перелинковкой. И думаю преподу в крайней случай объяснить проблему с локальной безопасностью можно (если будет ругаться), и попросить открыть в другом браузере (ОСЛЕ). И сказать что это нормальная ситуация и на хостинге такой проблемы не будет.

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

Я в свое время в ПТУ на 1 курсе на уроке информатики схватил 3 за симестр, только лишь из-за того, что вопрос был
"Назови табалюционНЫЕ клавиши" (сорри если обшибся в слове табалюционные)
На что я задал встречный вопрос "табалюционНЫЕ?" с акцентом на окончание.
И за такой выпендрёшь я схватил тройку. И это лишь доказало неадекватность препода. И я перевелся к другому.
 

kein

Частный случай
Регистрация
23.11.2009
Сообщения
446
Не люблю флудить, да и бессмысленно я думаю это для поставленной задачи. и для ТС. Пусть он отпишет. Да и решения мы предложили уже кучу.
 

dezmail

Member
Регистрация
11.03.2011
Сообщения
13
kein, BaNru Спасибо вам огромное, всё сделал всё работает: http://aion-gm.net.ru/infobios_js/
Получилось даже по приятнее include

На хостинге работает во всех браузерах, тестировал IE,Chrom, Opera, FF.

При локальном запуске, как вы уже говорили, не работает в Chrom и в Opere как я понимаю из за защиты в этих браузерах на локальный доступ?

Также как бы поставить default value, на загрузку документа.
Код:
<a class="A1" href="javascript://" onclick="$('#js_content').load('index_content.xml');return false;">Главная</a>
Нужно по дефолту загружать в «js_content» «index_content.xml»
 
  • Like
Реакции: kein

BaNru

Пацифизжу
Команда форума
Регистрация
13.11.2010
Сообщения
4 138
Всё бы хорошо, если не так печально...
А зачем ты подключаешь xml? Если ты не заметил, если открыть непосредственно сам xml файл, то браузер (в моем случае FF) ругается и вываливает ошибку. Ты убил формат XML в своих файлах, а точнее его там просто нет.
Если препод заметит это, он может и занизить оценку. Я б занизил.
ИМХО, сменил бы лучше на HTML или даже просто TXT

Нужно по дефолту загружать в «js_content» «index_content.xml»
Попробуй добавить
Код:
<body onload="$('#js_content').load('index_content.xml');return false;">
 

dezmail

Member
Регистрация
11.03.2011
Сообщения
13
Спс, теперь при загрузке сайта загружается контент для индексной страницы)

По поводу расширений, думал что использовать правильнее, xml да не то, просто сделал для теста, вдруг Opera загрузила бы страницы, при локальном доступе.

Html тоже не совсем корректно использовать, м.б. .tpl?

И искал конфиг в опере, отвечающий за политику безопасности, так и не смог найти
 

BaNru

Пацифизжу
Команда форума
Регистрация
13.11.2010
Сообщения
4 138

dezmail

Member
Регистрация
11.03.2011
Сообщения
13
Html тоже не совсем корректно использовать, м.б. .tpl?
Хватит может велосипед изобретать? Ну сделай TXT.

И искал конфиг в опере, отвечающий за политику безопасности, так и не смог найти
Посмотреть вложение 1498
Да да, уже нашёл, прост сразу не догадался что нужно opera:config в адресную строку вписать, искал обычным методом)

Ну лан сам попробую найти аргументы, для решения, какое расширение использовать)
 
Статус
Закрыто для дальнейших ответов.
Верх Низ