我想在firefox中创建一个美味的书签,该书签在当前页面上以预定义的标签为书签。

为了获得概念证明,如果我输入此URL,它可以工作:

https://john:pwd@api.del.icio.us/v1/posts/add?url=http://www.google.com&
    description=http://www.google.com&tags=testtag

但这是书签,我得到了 拒绝访问:

javascript:(

    function()
    {
        location.href = 'https://john:pwd@api.del.icio.us/v1/posts/add?url=' 
            + encodeURIComponent(window.location.href)
            + '&description=' + encodeURIComponent(document.title)   
            + '&tags=testtag';
    }

)()

这是否可以通过JavaScript书签?

更新: 我尝试过,但仍然得到 拒绝访问 错误,因此与JavaScript/Firefox有关。

javascript:(

    function()
    {
        location.href = 'https://john:pwd@api.del.icio.us/v1/posts/add?url='
            + 'http://www.google.com'
            + '&description=' + 'http://www.google.com' + '&tags=testtag';
    }

)()

更新2:在尝试了上述和不同浏览器上的许多变体之后,我仍然无法超越 访问拒绝消息, ,所以提供赏金。

有帮助吗?

解决方案

我怀疑这是Firefox,试图保护您免受JavaScript的安全问题。当我尝试将您的示例打入我的地址栏时,Firefox提示我问我是否确定我想登录 api.del.icio.us.

另一个有关的问题 http auth 看起来与您的问题相似,也许会帮助您。


更新:

我用了firebug的 面板及其JavaScript控制台,我能够看到请求/响应标题。

这是JavaScript控制台的请求,该请求失败了:

GET /v1/posts/add?url=http://www.spoons.com/&description=forks&tags=knives HTTP/1.1
Host: api.del.icio.us
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: https://stackoverflow.com/questions/2708950/2740195
Authorization: Basic XXXXXXXXXXXXXXXXX
Cache-Control: max-age=0

而且,这是地址栏的请求,该请求有效:

GET /v1/posts/add?url=http://www.spoons.com/&description=forks&tags=knives HTTP/1.1
Host: api.del.icio.us
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Authorization: Basic XXXXXXXXXXXXXXXXX
Cache-Control: max-age=0

唯一的区别似乎是 Referer 标题,这引起了 拒绝访问 回复。那个设定 Network.http.SendRefererheader 在Firefox的 关于 可以设置为0关闭 Referer 标题。当我尝试此操作时,JavaScript控制台方法开始工作。

有一个名为Firefox的扩展 refspoof 这对于发送您自己的自定义很有用 Referer 标题,也许在这里有所帮助。

其他提示

看起来你失踪了 url=.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top