JS - 获取当前网站名称(与Safari类似)

时间:2012-07-04 05:41:00

标签: javascript uitableview safari titanium bookmarks

这是一个难以解释的问题,但我会尽我所能!我正在用JavaScript编写我的应用程序,我正在使用Titanium IDE。

所以,我正在尝试为我的应用创建一个书签菜单。我需要它基本上获取网站的名称/内容标题,这样书签的标题看起来不错,而不是直接采取直接路线并将网站的网址塞进桌面。

举一个我正在谈论的例子,

Notice The Naming Of Each Bookmark

如果你看,你可以看到它显示Apple,而不是http://www.apple.comapple.com,这就是我想要复制的内容。如果您有可能拥有或了解一些功能,请加入!否则,任何输入都是有帮助的!

由于

更新:我找到了一个解决方案,如果我正在使用XCode,也为Titanium,那些感兴趣的人。我知道document.title是关键,但是在Titanium中运行它,它有点不同。我将在下面发表我的结论!。

2 个答案:

答案 0 :(得分:1)

它可能不适用于所有网站,也许somone可以改进它,但这是javascript中的一个解决方案:

var sitename = location.hostname;
sitename = sitename.replace("http://", "");
sitename = sitename.replace("https://", "");
sitename = sitename.replace("www.", "");
sitename = sitename.substring(0, sitename.indexOf("."));

在上面的解决方案中,我们获取主机名,然后从主机名的开头提取子字符串到第一个句点。这样我们就可以删除主机名的.com部分。

我们无法使用sitename.lastIndexOf();因为如果我们有.co.uk域名,我们最终会得到类似example.co的内容。

希望这有帮助!

答案 1 :(得分:1)

我找到了解决方案!

对于Xcode:

- (void)webViewDidFinishLoad:(UIWebView *)webView{
    NSString *theTitle=[webView stringByEvaluatingJavaScriptFromString:@"document.title"];
}

对于Titanium:

theTitle = webView.evalJS("document.title");