Динамически изменить исходный код HTML, используя собственный JavaScript? - PullRequest
0 голосов
/ 27 сентября 2011

Я пытался изменить мои HTML-файлы.Пожалуйста, посмотрите это , чтобы лучше понять, чем я занимаюсь.

Все работало нормально, но при просмотре источника оно не изменилось.Изменения, которые я пытался внести, были отражены только на веб-странице, которую я открыл в своем браузере.

Можно ли каким-либо образом изменить фактический источник HTML-страницы?

Я использую IE8 и GreaseMonkey4IE для запуска JavaScript на веб-страницах, которыми я хочу манипулировать, на случай, если вам это интересно.

Здесь есть похожий вопрос здесь ,Но у меня есть мои HTML-файлы в моем локальном хранилище.Нет серверной стороны - клиентская сторона.

РЕДАКТИРОВАТЬ 1

Хорошо, у меня есть настройка Tomcat, но все это на моем локальном компьютере.
Также, если я могу изменить DOM, могу 't Я сохраняю его как новый HTML-файл, поэтому мне не придется связываться с исходным файлом.

Вот как мы это делаем в Firefox .Должен быть какой-то способ сделать это в IE8.

РЕДАКТИРОВАТЬ 2
Теперь отлично работает для страниц HTML без каких-либо рамок .Но когда я пытаюсь сделать это на страницах с фреймами, это не работает. Это убьет меня, я уверен.Возможно, это связано с тем, что фрейм имеет доступ к другим HTML-страницам.Например:

<frameset rows="95,*" frameborder="NO" framespacing="0" border="0" marginwidth="0"  marginheight="0">
    <frame name="title" target="content" src="Strategy%20Details.asp_files/title.htm"  scrolling="NO">
 <frameset cols="168,*">
   <frame name="navigation" noresize="noresize" width="168" target="content" src="Strategy%20Details.asp_files/navigation.htm">
   <frame name="content" noresize="noresize" src="Strategy%20Details.asp_files/home.htm">
 </frameset>
 </frameset> 



Посмотрите, как фреймы обращаются к HTML-страницам в атрибуте src .

ЛюбойИдея ???

Ответы [ 5 ]

3 голосов
/ 27 сентября 2011

Вы сможете видеть динамические изменения с помощью IE Developer Tools.

Когда вы «Просмотреть исходный код», на странице отображается источник, который был доставлен с сервера без каких-либо изменений, внесенных впоследствии.Инструменты разработчика IE (или Firebug в Firefox, или Dragonfly в Opera) позволят вам динамически видеть изменения (а также будут выделять изменения по мере их возникновения!)

1 голос
/ 28 сентября 2011

Итак, глядя на то, что вы делаете с Firefox, вы не хотите, чтобы javsctipt делал сохранение, просто сможете модифицировать DOM, используя скрипт Сохранить представление HTML изменений в IE.

В IE используйте инструменты разработчика IE. Нажмите F12. Если вы манипулировали DOM, щелкните значок обновления в инструментах разработчика. Затем нажмите значок сохранения.

1 голос
/ 27 сентября 2011

Если я правильно вас понял, вы хотите изменить содержимое HTML-файла на вашем жестком диске? Это невозможно при использовании JS, и независимо от того, где находится файл HTML (локальный компьютер или нет), всегда есть сторона сервера и сторона клиента. По сути, ваша ОС выступает в роли сервера (предоставляя вам HTML), а ваш браузер по-прежнему всего лишь клиент, и у него нет больше прав, чем было бы, если бы вы были на странице в Интернете.

Похоже, вам стоит обратить внимание на какую-то серверную технологию, которая позволяет создавать динамические веб-страницы, такие как PHP, JSP, серверная JS или любая другая из миллиона.

0 голосов
/ 27 сентября 2011

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

0 голосов
/ 27 сентября 2011

Редактировать: Нет, нет пути, по крайней мере, без проверки источника без firebug.

...