我正在构建一个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);
要测试它,请选择代码并将其拖放到书签浏览器栏中,然后单击它。