2013-02-09 1 views
0

Я хочу, чтобы javascript загружал HTML-код, чтобы его можно было встроить в страницу, все, что я получаю, это необработанный HTML-код без компиляции.Загрузка html-кода с html

<script> 
document.write('http://www.example.com/index.php?title=Media:Object4&action=raw&ctype=html') 
</script> 

Он содержит HTML-кодирования внутри, и я хочу, чтобы вставлять в страницы, так что я могу поделиться с другими сайтами.

+0

Первый HTML-код не работает *. Во-вторых, везде нет * компиляции. – techfoobar

+0

Вы можете посмотреть в AJAX, но это очень сложно, если вы хотите запросить данные из другого домена. – 11684

ответ

2

Вы пытаетесь получить HTML-код с этого URL-адреса и вставить его на страницу? JavaScript не может сделать это по соображениям безопасности, но если вы используете PHP на стороне сервера вы можете использовать:

echo file_get_contents("http://.........."); 

Или вы можете использовать IFRAME:

<iframe src="http://........" /> 
2

document.write - добавляет текст в документ - он не извлекать документы из Интернета.

Однако вы можете использовать object tag.

Это должно выглядеть примерно так:

<object type="text/html" data="http://www.example.com/index.php?title=Media:Object4&action=raw&ctype=html" style="width:100%; height:100%"></object> 

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

+0

Я все еще даю мне необработанный код. Он не компилируется. – user2056671

2

Самый простой способ сделать эту работу, своего рода, является использование <iframe>:

<iframe src="http://www.example.com/index.php?title=Media:Object4&action=raw&ctype=html"></iframe> 

Если вы хотите, чтобы загрузить его внутри определенного контейнера, вы должны выполнить веб-запрос, используя JavaScript; JQuery пример:

<div id="container"></div> 
<script> 
    $('#container').load('http://www.example.com/index.php?title=Media:Object4&action=raw&ctype=html'); 
</script> 

Если удаленный URL не в том же домене, что вам нужно использовать прокси-сервер:

<script> 
    $('#container').load('/path/to/myproxy.php', { 
     url: 'http://www.example.com/index.php?title=Media:Object4&action=raw&ctype=html' 
    }); 
</script> 

Тогда ваш PHP код может выглядеть следующим образом:

<?php 

if (parse_url($_POST['url'], PHP_URL_HOST) === 'www.example.com') { 
    echo file_get_contents($_POST['url']); 
} 
+0

Допустим, у меня есть моя страница, и я хочу, чтобы скрипт загружал еще один html-скрипт, все, что выше, все еще дает мне текст вместо его компиляции. – user2056671

+0

@ user2056671 У вас есть JavaScript на удаленной странице, которая также должна быть запущена? –

+0

Да, я хочу, чтобы это было так. – user2056671