|
|
|
Junior Member
      
участник
Last Login: 20.01.2008 11:31
Сообщ.: 10,
Visits: 17
|
|
Со страницы HTML нужно прочесть стиль, то есть, всё, что расположено между тегами: <style> . . . </style> Конструкция вида "document.body.innerHTML" не позволяет это прочесть, так как тег <style> не находится внутри "body". Подскажите, пожалуйста, как это можно сделать.
|
|
|
|
|
Junior Member
      
участник
Last Login: 09.10.2006 13:14
Сообщ.: 14,
Visits: 79
|
|
| честно говоря очень интересно зачем понадобилась такая хитрость. Если напишешь зачем, тогда вполне возможно сможем придумать как тебе помочь. Может проблема заключается совершенно в другом
|
|
|
|
|
Junior Member
      
участник
Last Login: 09.10.2006 13:14
Сообщ.: 14,
Visits: 79
|
|
Вот кое-чего нарыл:
<html> <head> <style type="text/css"> body{ font-family: Verdana; font-size: 11px; } input{ height: 18px; font-family: Verdana; font-size: 10px; } </style> <script language="JavaScript"> window.onload=ff; function ff(){ var ss=document.styleSheets[0]; for (var i=0; i<ss.rules.length; i++){ var r = ss.rules[i] alert(r.selectorText +': '+ r.style.cssText) } } </SCRIPT> </head> <body> </body> </html>
Это для IE. А для Mozilla и NN(для NN не проверял, но должно быть)вместо rules нужно писать cssRules. А вот с Opera проблемы - даже не знаю как помочь
|
|
|
|
|
Junior Member
      
участник
Last Login: 20.01.2008 11:31
Сообщ.: 10,
Visits: 17
|
|
Igorek Огромное спасибо за помощь. Это было нужно именно для IE. Для чего это? Можно организовать авто сохранение выделенного фрагмента из интернет страницы. Но без авторского стиля это выглядит плохо. Обычно используется файл стиля. Как его получить описано в http://www.relib.com/forums/Topic900779-10-1.aspx Но на некоторых страницах стиль задаётся прямо на них, для получения его как раз подходит твой вариант. И для общего развития вопрос: Нет никакой конструкции, позволяющей получить весь код HTML страницы, наподобие document.body.innerHTML или это не предусмотрено физически?
|
|
|
|
|
Supreme Being
      
участник
Last Login: 29.05.2008 20:04
Сообщ.: 269,
Visits: 2 381
|
|
Ю_рий (19.08.2006)
И для общего развития вопрос: Нет никакой конструкции, позволяющей получить весь код HTML страницы, наподобие document.body.innerHTML или это не предусмотрено физически? Технология Ajax. <html> <head> <title> </title> <script> function doLoad() { var req = window.XMLHttpRequest? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP"); req.onreadystatechange = function() { if (req.readyState == 4) alert('Loaded:'+req.responseText); } req.open("GET", document.location, true); req.send(null); } </script> </head> <body> <center><br> <input type="button" value="Show me" onclick="doLoad()"> </center> </body> </html>
----------------------------------
Я безработный...
Возьмите меня на работу. =)
|
|
|
|
|
Junior Member
      
участник
Last Login: 20.01.2008 11:31
Сообщ.: 10,
Visits: 17
|
|
Vizlim Спасибо за ответ. Для локальной страницы, я, в своё время написал, более простой вариант, но ещё не успел разобраться, как изменить значение window.location.href.slice(8).split('%20').join(" ").split('/').join("\\") для просмотра интернет страниц. <script> function f_a () { fs = new ActiveXObject("Scripting.FileSystemObject"); fi_le = fs.OpenTextFile (window.location.href.slice(8).split('%20').join(" ").split('/').join("\\") , 1); te_xt =fi_le.ReadAll (); fi_le.Close (); alert(te_xt);} </script> <input type="button" value="f_a" onClick="f_a()"> В приведённом примере этот вопрос решён, но приходится лезть не только в "ActiveXObject", но и в "Ajax". То есть, вопрос остался: Нет никакой конструкции, позволяющей получить весь код HTML страницы, наподобие document.body.innerHTML или это не предусмотрено физически?
|
|
|
|