Получить первый заголовок h1 и открыть \\\ h1.html в новой вкладке - PullRequest
0 голосов
/ 21 июля 2011

Я получаю две вкладки со следующим кодом - одна с надписью [Window объекта], а другая отображает нужную мне страницу.

  1. Что избавится от первой бесполезной вкладки?

  2. Есть ли способ заставить букмарклет открыть http: /// get_started_txt_ (random_alphanumeric_code_here) .html?.

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

Офлайн-файлы на моем конце похожи на «getting_started_txt_23468j5jg86458jm34858.html». Таким образом, букмарклет должен искать файл, где имя файла начинается с «h1 с подчеркиванием» и что-нибудь после него. Это возможно?

window.open('http://en.wikipedia.org/wiki/' + document.getElementsByTagName('h1')[0].innerHTML.replace(/<[^>]+>/g, '').replace(/ /g, '_') + '_txt_');

Итак, если у меня открыта страница с первым заголовком h1 как «начало работы», букмарклет должен открыть новую вкладку с URL http://(server_name)/getting_started_txt_(random_alphanumeric_code_here).html.

Обратите внимание, что существует только один файл на сервере, который соответствует этой части Getting_started_txt, а остальная часть имени файла может быть любым.

Ответы [ 2 ]

0 голосов
/ 21 июля 2011

Букмарклет будет выглядеть так:

javascript:window.open('http://en.wikipedia.org/wiki/' + document.getElementsByTagName('h1')[0].innerHTML.replace(/<[^>]+>/g, '').replace(/ /g, '_'));

Или это (версия в кодировке URL):

javascript:window.open%28%27http%3A//en.wikipedia.org/wiki/%27%20%252B%20document.getElementsByTagName%28%27h1%27%29%5B0%5D.innerHTML.replace%28/%3C%5B%5E%3E%5D%252B%3E/g%2C%20%27%27%29.replace%28/%20/g%2C%20%27_%27%29%29%3B

Какие сокращенные версии этого кода JavaScript:

// Find the first H1 node
var h1 = document.getElementsByTagName('h1')[0];
// Extract the content of the node
var title = h1.innerHTML;
// Delete HTML tags in the content of the title
title = title.replace(/<[^>]+>/g, '');
// Replace spaces with underscore symbols
title = title.replace(/%s/g, '_');
// Open a new window (or tab) with the corresponding Wikipedia article
window.open('http://en.wikipedia.org/wiki/' + title);
0 голосов
/ 21 июля 2011

Нечто подобное должно работать в большинстве случаев.

window.open('\\\\server_name\\en\\' + encodeURIComponent(document.getElementsByTagName('h1')[0].innerHTML.replace(/<[^>]*>/g, '').replace(/\s/g, '_')) + '.html', 'win')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...