使用JavaScript获取浏览器URL框内容

时间:2015-05-01 20:20:17

标签: javascript google-chrome bookmarklet

我想创建一个书签,将我带到isup.me并检查无法加载的网站。

所以基本上就像在控制台中运行它一样:

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    tableView.deselectRowAtIndexPath(indexPath, animated: true)


    let team = self.teamArray[indexPath.row] as Team
    var removed = false



    for (index, value) in enumerate(self.teamSelected) {
        if (value.id == team.id) {
            self.teamSelected.removeAtIndex(index)
            removed = true
        }
    }

    if (!removed) {
        self.teamSelected.append(team)
    }

     var userDefaults = NSUserDefaults.standardUserDefaults()
    let encodedData = NSKeyedArchiver.archivedDataWithRootObject(self.teamSelected)
    userDefaults.setObject(encodedData, forKey: "teams")
    userDefaults.synchronize()





    tableView.reloadData()
}

应该将我导航到window.location.href = "http://isup.me/" + window.location.host;

这适用于已加载的网站,但在无法加载的网站上失败。这是http://isup.me/site_I_want_to_check,其中包含地址栏中显示的字符串: enter image description here

这是window.location.href在无法访问的网站上: enter image description here

正如您在上面的屏幕截图中看到的,window.location.href的值与地址字段中显示的值不匹配。而不是返回" http://www.minetest.net"我得到了"数据:text / html,chromewebdata"当我查看window.location.href的值时,它实际上返回一个空字符串。

在查看Chrome的内部失败网页时,如何通过JavaScript获取地址栏的可见内容,告知我无法访问该网站? < / p>

1 个答案:

答案 0 :(得分:7)

假设您使用的是Chrome,则可以从title元素中提取尝试过的网址:

function url() {
  if(window.location.href=='data:text/html,chromewebdata') {
    return document.title.match(/([^ ]*)/).pop();
  }else{
    return document.location.href;
  }
}