获取第一个h1标题并在新选项卡</server_name>中打开\\ <server_name> \ h1.html

时间:2011-07-21 13:01:07

标签: javascript get

我使用以下代码获得两个选项卡 - 一个显示[对象窗口],另一个显示我想要的页面。

  1. 什么会摆脱第一个无用的标签?

  2. 有没有办法让书签打开http:/// getting_started_txt_(random_alphanumeric_code_here).html ?.

  3. ...我需要打开一个页面,该页面只匹配文件名开头的脱机文件名的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的页面为“开始”,则书签应打开一个包含网址http://(server_name)/getting_started_txt_(random_alphanumeric_code_here).html的新标签页。

    请注意,服务器上只有一个文件与getting_started_txt部分匹配,文件名的其余部分可以是任何文件。

2 个答案:

答案 0 :(得分:0)

在大多数情况下,这样的事情应该有效。

window.open('\\\\server_name\\en\\' + encodeURIComponent(document.getElementsByTagName('h1')[0].innerHTML.replace(/<[^>]*>/g, '').replace(/\s/g, '_')) + '.html', 'win')

答案 1 :(得分:0)

小书签将如下所示:

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);