Bookmarklet中的当前URL(来自地址栏)


Current URL (from address bar) in a Bookmarklet

我正在构建一个bookmarklet,我需要获得用户在激活bookmarklet时所处网页的当前URL。

我试过使用

$current_url = $_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];

但这只是让我得到服务器的URL,其中JS的bookmarklet是托管。有没有办法直接从地址栏获得URL ?

您可以通过定义您的站点URL(例如:define('SITE_URL', 'http://abc.com'))并将站点URL与$_SERVER['REQUEST_URI']连接来解决问题

例如:$cur_url = SITE_URL.$_SERVER['REQUEST_URI'];

可以,只需从书签中传递location.href

例如

,

location.href="http://mywebsite.com/bookie.php?url="+encodeURIComponent(location.href);

然后在您的服务器上,您在$_GET['url']处获得URL。好运。

当然,这只是JS。您需要添加javascript:方案使其工作

如果您的bookmarklet指的是http://en.wikipedia.org/wiki/Bookmarklet,那么我认为下面的代码会有所帮助:

javascript:alert(document.location.href);

要测试它,请选择代码并将其拖放到书签浏览器栏中,然后单击它。