Можно ли сократить данные:текст/html, ссылку?

Я кодировал ссылку с именем data:text/html (если вы напишете ее в адресной строке, вы можете написать любой html и css после нее). Кто-нибудь знает, как сократить эту ссылку, я пробовал goo.gl и немного, но он говорит, что не может создать ссылку. Это мой код:

data:text/html, <!DOCTYPE html> <html lang="en-us"> <head> <title>Griffin Inc</title> <link rel="icon" href="https://docs.google.com/a/my.rbusd.org/drawings/d/1RbhLPr2Jq2WL-NCKn0lMKVkM3fPw-ZRUdFTurpLHkBk/pub?w=960&h=720"> <link href="https://preview.c9users.io/check222/new-tab/style.css" rel="stylesheet"> <script src="https://preview.c9users.io/check222/new-tab/main.js"></script> </head> <body id="body"> <marquee loop="-1" scrollamount="7" width="100%" id="google-search-engine-marquee"> <strong>Search Griffin Inc</strong> </marquee> <form action="https://www.google.com/search" method="get"> <input type="search" name="q" placeholder="Google" title="Search" id="search-bar"> <input type="submit" value="Search" id="search-button"> </form><p style="color: black">Color Picker:<input id="color_picker" type="color" onchange="showHex();"><p style="color: black">Type notes here: </p> <textarea id="notes"></textarea> <p></p> <button id="Google-Docs" class="pageContent" onclick="window.open('https://docs.google.com/document/u/0/?tgif=d')">Google Docs</button> <button id="Google-Drive" class="pageContent" onclick="window.open('https://drive.google.com/drive/my-drive')">Google Drive</button> <button id="Google-Slides" class="pageContent" onclick="window.open('https://docs.google.com/presentation/u/0/?tgif=d')">Google Slides</button> <button id="Google-Drawings" class="pageContent" onclick="window.open('https://docs.google.com/drawings/d/1YTlXmt29AVduvI2OnSfYYMKw1IrcB3LPFPBh6g1p6TI/edit')">Google Drawings</button> <iframe src="http://schneider7.weebly.com/homework--due-dates" width="100%" height="1000"/> </body> </html>

person The Gamer    schedule 09.06.2017    source источник
comment
Сервисы сокращения ссылок, вероятно, имеют ограничение на размер ссылок. Почему вам нужно помещать весь HTML-документ прямо в ссылку, а не размещать его на сервере?   -  person Barmar    schedule 09.06.2017
comment
вам нужно скопировать эту ссылку из адресной строки после перехода по ней; как показано, это недействительно, но панель URL-адресов избежит его для вас, и тогда он может работать на некоторых крошечных службах URL-адресов.   -  person dandavis    schedule 09.06.2017
comment
Потому что он не в допустимом формате. Либо закодируйте его, либо в goo.go отключите проверки переднего плана и попробуйте   -  person Sagar V    schedule 09.06.2017


Ответы (4)


Я знаю, что это старо, и это не тот ответ, который вам, вероятно, нужен, но вы можете использовать, например, кодировку base 64.

data:text/html;base64,PGgxPkhlbGxvLCBXb3JsZDwvaDE+ 

ваш HTML может быть закодирован в

data:text/html;base64,ZGF0YTp0ZXh0L2h0bWwsIDwhRE9DVFlQRSBodG1sPiA8aHRtbCBsYW5nPSJlbi11cyI+IDxoZWFkPiA8dGl0bGU+R3JpZmZpbiBJbmM8L3RpdGxlPiA8bGluayByZWw9Imljb24iIGhyZWY9Imh0dHBzOi8vZG9jcy5nb29nbGUuY29tL2EvbXkucmJ1c2Qub3JnL2RyYXdpbmdzL2QvMVJiaExQcjJKcTJXTC1OQ0tuMGxNS1ZrTTNmUHctWlJVZEZUdXJwTEhrQmsvcHViP3c9OTYwJmg9NzIwIj4gPGxpbmsgaHJlZj0iaHR0cHM6Ly9wcmV2aWV3LmM5dXNlcnMuaW8vY2hlY2syMjIvbmV3LXRhYi9zdHlsZS5jc3MiIHJlbD0ic3R5bGVzaGVldCI+IDxzY3JpcHQgc3JjPSJodHRwczovL3ByZXZpZXcuYzl1c2Vycy5pby9jaGVjazIyMi9uZXctdGFiL21haW4uanMiPjwvc2NyaXB0PiA8L2hlYWQ+IDxib2R5IGlkPSJib2R5Ij4gPG1hcnF1ZWUgbG9vcD0iLTEiIHNjcm9sbGFtb3VudD0iNyIgd2lkdGg9IjEwMCUiIGlkPSJnb29nbGUtc2VhcmNoLWVuZ2luZS1tYXJxdWVlIj4gPHN0cm9uZz5TZWFyY2ggR3JpZmZpbiBJbmM8L3N0cm9uZz4gPC9tYXJxdWVlPiA8Zm9ybSBhY3Rpb249Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vc2VhcmNoIiBtZXRob2Q9ImdldCI+IDxpbnB1dCB0eXBlPSJzZWFyY2giIG5hbWU9InEiIHBsYWNlaG9sZGVyPSJHb29nbGUiIHRpdGxlPSJTZWFyY2giIGlkPSJzZWFyY2gtYmFyIj4gPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCIgaWQ9InNlYXJjaC1idXR0b24iPiA8L2Zvcm0+PHAgc3R5bGU9ImNvbG9yOiBibGFjayI+Q29sb3IgUGlja2VyOjxpbnB1dCBpZD0iY29sb3JfcGlja2VyIiB0eXBlPSJjb2xvciIgb25jaGFuZ2U9InNob3dIZXgoKTsiPjxwIHN0eWxlPSJjb2xvcjogYmxhY2siPlR5cGUgbm90ZXMgaGVyZTogPC9wPiA8dGV4dGFyZWEgaWQ9Im5vdGVzIj48L3RleHRhcmVhPiA8cD48L3A+IDxidXR0b24gaWQ9Ikdvb2dsZS1Eb2NzIiBjbGFzcz0icGFnZUNvbnRlbnQiIG9uY2xpY2s9IndpbmRvdy5vcGVuKCdodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9kb2N1bWVudC91LzAvP3RnaWY9ZCcpIj5Hb29nbGUgRG9jczwvYnV0dG9uPiA8YnV0dG9uIGlkPSJHb29nbGUtRHJpdmUiIGNsYXNzPSJwYWdlQ29udGVudCIgb25jbGljaz0id2luZG93Lm9wZW4oJ2h0dHBzOi8vZHJpdmUuZ29vZ2xlLmNvbS9kcml2ZS9teS1kcml2ZScpIj5Hb29nbGUgRHJpdmU8L2J1dHRvbj4gPGJ1dHRvbiBpZD0iR29vZ2xlLVNsaWRlcyIgY2xhc3M9InBhZ2VDb250ZW50IiBvbmNsaWNrPSJ3aW5kb3cub3BlbignaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vcHJlc2VudGF0aW9uL3UvMC8/dGdpZj1kJykiPkdvb2dsZSBTbGlkZXM8L2J1dHRvbj4gPGJ1dHRvbiBpZD0iR29vZ2xlLURyYXdpbmdzIiBjbGFzcz0icGFnZUNvbnRlbnQiIG9uY2xpY2s9IndpbmRvdy5vcGVuKCdodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9kcmF3aW5ncy9kLzFZVGxYbXQyOUFWZHV2STJPblNmWVlNS3cxSXJjQjNMUEZQQmg2ZzFwNlRJL2VkaXQnKSI+R29vZ2xlIERyYXdpbmdzPC9idXR0b24+IDxpZnJhbWUgc3JjPSJodHRwOi8vc2NobmVpZGVyNy53ZWVibHkuY29tL2hvbWV3b3JrLS1kdWUtZGF0ZXMiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMDAiLz4gPC9ib2R5PiA8L2h0bWw+

person Ronan Leonard    schedule 14.04.2019

Можно ли сократить данные:текст/html, ссылку?

Конечно, если вы можете создать короткий URL-адрес, который перенаправляет на указанный URI данных. Как вы заметили, многие популярные сервисы не поддерживают URI данных. Однако ничто не мешает вам создавать свои собственные редиректы.

Полезно сокращать URI данных? Я не могу придумать никакого разумного варианта использования для этого. URI data:text/html предназначены для очень маленьких демонстраций (в порядке двух- или трехзначного количества байтов — вот пара examples) и для быстрого экспериментирования. Никто в здравом уме не будет помещать весь HTML-документ в URI данных и ожидать, что конечные пользователи будут использовать его как настоящий документ. Важно отметить, что URI данных не могут быть проиндексированы поисковыми системами, хотя, конечно, в зависимости от варианта использования это может быть как плюсом, так и минусом.

Кроме того, Internet Explorer и Microsoft Edge не поддерживает навигацию по URI данных любого типа из соображений безопасности, поэтому даже если вы можете создать короткий URL-адрес, перенаправляющий на URI данных, он не будет работать везде.

Если вам нужны «короткие URL-адреса», которые ссылаются на запускаемые/редактируемые веб-фрагменты, существует множество сервисов, созданных именно для этой цели, таких как JSFiddle., JS Bin, CodePen... список можно продолжить. Все они генерируют URL-адреса с достаточно короткими идентификаторами. Кроме того, все они основаны на HTTP, поэтому работают в IE и Microsoft Edge.

person BoltClock    schedule 09.06.2017
comment
Причина, по которой я использую URL-адреса данных, заключается в том, что для этого не нужен Интернет. Я использую это как новую вкладку. Причина, по которой я хотел сократить его, заключается в том, что если вы посмотрите, где он показывает мою ссылку на css, там есть ссылка на веб-сайт. Это работает, но не работает без интернета, к чему я стремился. Я нашел решение, используя data:text/css, но это может быть очень долго. Я бы использовал <link rel="stylesheet" href="data:text/css, body {background-color: blue}"> это только пример. Я не хочу более длинную ссылку, чем у меня уже есть. - person The Gamer; 09.06.2017
comment
@TheGamer, попробуйте использовать AppCache. - person Jed Fox; 09.06.2017
comment
@The Gamer: Ну, вам понадобится подключение к Интернету для доступа к коротким URL-адресам, чтобы в любом случае получить доступ к вашим целевым URI данных. - person BoltClock; 10.06.2017

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

Попробуйте следующий пример: tinyurl.com/3maue6t

Он будет перенаправлен на
data:text/html;charset=utf-8,However,%20data%20URI%20does%20the%20same%20without%20the%20server

(Не мой пример; найдено на https://news.ycombinator.com/item?id=2464213 после поиска в Google любой сокращатель URL поддержка URI данных)

Однако, если вы перейдете к указанному выше крошечному URL-адресу в Chrome, вы увидите следующее сообщение об ошибке:

Этот сайт недоступен

Веб-страница по адресу data:text/html;charset=utf-8. Тем не менее,%20data%20URI%20делает%20%20тот же%20без%20%20сервер может быть временно отключен или навсегда перемещен на новый веб-адрес.

ERR_UNSAFE_REDIRECT

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

Доказательство того, что это не связано с каким-либо неисправным URI данных, легко — в адресной строке теперь отображается URI данных, поэтому переместите курсор за это и нажмите [enter] — и вы увидите HTML-документ, который содержит этот URI данных, отображается. .

Я не проверял, относятся ли вещи по-разному, если вы f.e. использовали такой сокращенный URL-адрес, который перенаправляет на URI данных в качестве src элемента изображения или какого-либо другого встроенного ресурса; но в качестве инструмента для перенаправления на полную веб-страницу он не кажется подходящим.

person CBroe    schedule 09.06.2017

Попробуйте react-google-url-shortner отсюда: https://www.npmjs.com/package/react-google-url-shortner.

Реквизит:

  • URL-адрес (обязательно) — добавьте URL-адрес, который вы хотите сократить.
  • GOOGLE_API_KEY — ключ API, созданный из проекта Google.

Использование:

import GoogleUrlShortner from 'react-google-url-shortner';

// ... 

class Foo extends Component {
    render() {
        return (
            <GoogleUrlShortner
              url="{example url here}" 
              GOOGLE_API_KEY="{YOUR project API key here}"
            />
        );
    }
}
person TJcobra    schedule 24.06.2017