2013-12-14 3 views
6

Я пробовал использовать <a href="view-source:google.com">External Source</a>, но это просто возвращает неработающую ссылку.Возможно ли связать источник «view-source:» внешней страницы?

+1

Я считаю, что это будет конкретный браузер. Есть ли определенный браузер, на который вы нацеливаетесь? – Thayne

+2

Нет, просто интересно, есть ли для этого стандарт. Я просто наткнулся на этот урок, который заставляет меня поверить, что это невозможно без взлома. Http://css-tricks.com/make-a-view-source-button/ – Jonny

ответ

0

Схема/протокол http: отсутствует:

 
<a href="view-source:http:google.com">External Source</a>` 

Тест с scURIple (scriple):

data:text/html;charset=utf-8,<html><a href="view-source:http:google.com">External Source</a></html> 
+1

Это не работает больше. http://stackoverflow.com/questions/39755819/view-source-in-href-shows- ошибка в-консоль – Robert

3

Если вам нужен HTML-источник веб-страницы, а не что-то еще, и вы готовы использовать серверный язык, есть возможность использовать curl, file_get_contents или Simple HTML DOM, чтобы получить HTML-сайт, а затем отобразить это на вашей собственной странице между <code></code> или <pre></pre> тегами. Это будет выглядеть примерно так в PHP

include("simplehtmldom.php"); 
$html=file_get_html($url); 
echo "<pre>$html</pre>; 

Очевидно, что это должно быть отформатировано или красиво. Взгляните на Google Code prettifier. Если вы хотите, чтобы получить источник своей страницы, вы могли бы использовать Javascript, и сделать это:

var html=document.documentElement.outerHTML; 

Я не уверен, как это будет работать для извлечения внешних страниц, но вы можете попробовать iframe для этого, как этот

document.getElementById('frame').contentWindow.documentElement.outerHTML; 
+0

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

+0

@NickUrban Я так не думаю, особенно если вы просто получаете html с 'file_get_html' – scrblnrd3

+0

Если вы впрыскиваете неэкранированный код, он может легко включать