Изменение цвета текста в Iframe - PullRequest
1 голос
/ 02 февраля 2011

Я хотел бы включить в свой блог Iframe, проблема в том, что мой фон черный, и поэтому цвет текста в iframe.

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

Ответы [ 2 ]

1 голос
/ 01 апреля 2011
<html>
<head>
    <script type="text/javascript">
       function InitEditable () 
{

                var editor = document.getElementById ("editor");

            var editorDoc = editor.contentWindow.document;          
            var editorBody = editorDoc.body;

                // turn off spellcheck


            if (editorBody.contentEditable === undefined) { // Firefox earlier than version 3
                if (editorDoc.designMode !== undefined) {
                        // turn on designMode
                    editorDoc.designMode = "on";                
                }
            }
            else {
                    // allow contentEditable
                editorBody.contentEditable = true;
            }

        }





        function ToggleBold ()
     {
            editorDoc.execCommand ('bold', false, null);
        }
        function ToggleItalic ()
     {
            editorDoc.execCommand ('italic', false, null);
        }
        function SetRed () {
        //sets foreground color
            editorDoc.execCommand ('foreColor', false, "#ff0000");
        }
        function Delete () {
            editorDoc.execCommand ('delete', false, null);
        }
    </script>
</head>
<body onload="InitEditable ();">
    First, write and select some text in the editor.
    <br />
    <iframe id="editor"  src="F:\EXAMPLE\JAVA\FILE\SURESHMNG.txt"></iframe>
    <input type="textarea" id="ta"></textarea>
    <br /><br />
    You can use the following buttons to change the appearance of the selected text:
    <br /><br />
    <button onclick="ToggleBold ();">Bold</button>
    <button onclick="ToggleItalic ();">Italic</button>
    <button onclick="SetRed ();">Set to red</button>
    <button onclick="Delete ();">Delete</button>
</body>
</html>
0 голосов
/ 09 декабря 2012

Краткий ответ: нет, если у вас нет контроля над исходной страницей, вы не можете управлять стилем.

Это невозможно только с помощью CSS.В основном вам нужно контролировать содержимое iframe, чтобы его стилизовать.Существуют методы, использующие javascript или предпочитаемый вами веб-язык для динамической вставки некоторых необходимых стилей, но вам потребуется прямой контроль над содержимым iframe.

Если страница находится на том же сервере, что и ваш блог, вы можете контролироватьстилизация с помощью jQuery, например, для динамического оформления страницы.Однако javascript (и, следовательно, jQuery) подчиняется той же политике происхождения , которая делает невозможным манипулирование содержимым iframe, если источник iframe не совпадает с доменом, который вы отображаетеon.

Если ваша исходная страница находится на внешнем сервере, альтернативой может быть создание собственного PHP-виджета, который может загружать внешнюю веб-страницу и используя file_get_contents , а затем загрузить его какiframe или с помощью jQuery.load , после чего, пока этот скрипт / виджет существует в том же домене, что и ваш блог, вы сможете стилизовать и контролировать содержимое этой страницы в своемсодержание сердца.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...