js如何获取当前页面所在的路径

JavaScript018

js如何获取当前页面所在的路径,第1张

(1)window.location.href : 整个URl字符串(在浏览器中就是完整的地址栏)返回值: http://www.abc.com/order/index.html?orderid=1&name=java#imhere(2)window.location.protocol :URL 的协议部分返回值:http:(3)window.location.host : URL 的主机部分返回值:www.abc.com(4)window.location.port : URL 的端口部分(如果采用默认的80端口(update:即使添加了:80),那么返回值并不是默认的80而是空字符)返回值:""(5)window.location.pathname : URL 的路径部分(就是文件地址)返回值:/order/index.html(6)window.location.search : 查询(参数)部分 (除了给动态语言赋值以外,我们同样可以给静态页面,并使用javascript来获得相信应的参数值)返回值:orderid=1&name=java(7)window.location.hash : 锚点返回值:#imhere(8)document.URL返回值: http://www.abc.com/order/index.html?orderid=1&name=java#imhere//获取Url传过来的值

function Request(name)

{

new RegExp("(^|&)"+name+"=([^&]*)").exec(window.location.search.substr(1))

return RegExp.$2

}

不清楚你说的根目录是哪个根目录,JavaScript运行于浏览器沙盒模式中,无法和系统进行交互,所以你就别指望能直接获取物理计算机的磁盘目录了,如果是获取url的某曾目录,可以使用正则表达式匹配,或者检索字符串等等。

现代浏览器基于安全考虑,js 是无法直接读取剪贴板的。

唯一的可能性是,用户在可编辑元素中(如 contenteditable='true'

的 div)主动触发粘贴操作(如,通过 ctrl+V)。此时通过监听 paste 事件, 可以从event中获取到用户所粘贴的内容。

示例代码(支持现代浏览器):

<div id='editableDiv' contenteditable='true'>Paste here</div> function handlePaste (e) {

    var clipboardData, pastedData

    // 阻止粘贴

    e.stopPropagation()

    e.preventDefault()

    // 获取剪贴板信息

    clipboardData = e.clipboardData || window.clipboardData

    // 获取剪贴板内容,getData 的参数是数据类型,这里为了获取文件路径是 'URL';如果想获取粘贴的文本,用 'Text'

    pastedData = clipboardData.getData('URL')

    // 处理信息,此时 pastedData 应该是 'file:///path/to/xxx'

    alert(pastedData)

}

document.getElementById('editableDiv').addEventListener('paste', handlePaste)

但是,与其费心思这样做,为何不直接做成拖动上传呢,应该更易于使用吧。

示例来源

http://stackoverflow.com/questions/2176861/javascript-get-clipboard-data-on-paste-event-cross-browser/2177059#2177059