Поисковая строка к url с blob:
Делаю такую вещь
<!doctype html> <html> <head> </head> <body> my page <script> let dopp = `<!doctype html> <html> <head> </head> <body> new page </body> </html>`; let blob = new Blob([dopp], {type : 'text/html'}); let url = URL.createObjectURL(blob); let ea = document.createElement('a'); ea.target = '_blank_'; ea.href = url; ea.click(); </script> </body> </html> Теперь хочу в стр 20 ea.href = url + '?search.str'; Не работает <!doctype html> <html> <head> </head> <body> my page <script> let dopp = `<!doctype html> <html> <head> </head> <body> new page </body> </html>`; let blob = new Blob([dopp], {type : 'text/html'}); let url = URL.createObjectURL(blob); let ea = document.createElement('a'); ea.target = '_blank_'; ea.href = url + '?search.str'; ea.click(); </script> </body> </html> Как ее туда прикрутить? |
странная хотелка. А для чего там этот '?search.str' ?
URL.createObjectURL добавляет блоб в специальный словарик (Map) где-то внутри браузера, и возвращает строковый ключ этой записи. URL.revokeObjectURL удаляет запись. Ключ с любой строковой добавкой не имеет смысла. В хроме ключ выглядит вот так (содержит origin+guid): "blob:https://lookatcode.com/ba0d5456-e9c8-4d2b-bc62-92015f66a5c8" то есть это не http-адрес, а "черт знает что", и никакого поискового параметра там быть не может. |
Цитата:
Цитата:
Там собственно есть URL(location).protocol = 'blob:' URL(location).origin = "https://lookatcode.com" URL(location).path = "https://lookatcode.com/ba0d5456-e9c8-4d2b-bc62-92015f66a5c8" Почему бы не быть еще и URL(location).search? |
Видимо, там всё что после орджина, считается гуидом..
Просто добавь скрипт с константой внутри тега head формируемого документа. |
Самое интересное, что хеш (якорь) совершенно спокойно работает
ea.href = url + '#a1'; Нормально срабатывает. И даже переходит к элементу с id="a1", если он есть. |
Причем
ea.href = url + '#h?search.str'; тоже работает, но URL(location).hash = "#h?search.str" Или по правилам URL хеш должен идти после строки запроса? |
Цитата:
Сафари у меня нет. |
Да, хэш всегда в конце. Браузер сначала отрезает решетку и всё что после неё, а потом уже смотрит что там за урл и как с ним работать.
|
Часовой пояс GMT +3, время: 14:11. |