将URL拖放到浏览器中并使用jQuery进行处理

我需要能够将URL(从浏览器中的url栏)拖放到网页中,使用该链接向Web服务发出请求,并获取JSON回复并填充表单。

我已经能够创建处理链接的Web服务,并且我已经能够使用jQuery.ajax发出请求,但我不确定如何与删除的链接进行交互。

有谁能指出我的一个例子? 我该怎么用?

编辑:

我已经能够使用“drop”触发我的ajax查询,但我不确定如何获取我丢弃的URL的值。 这是我的代码:

jQuery(function() { $("input").bind("drop", function(e){ var val = e.dataTransfer.getData('Text') $.ajax({ type: 'GET', url: 'http://dev.null:8888/gud/', data: 'url=' + val, dataType: 'json', success: function(jsonData) { alert(jsonData); }, error: function (xhr, ajaxOptions, thrownError){ alert("this isnt working"); }, }); }); }); 

我认为e.dataTransfer.getData('Text')可以让我访问URL的值,但事实并非如此。 有谁知道我如何获得这个价值?

找到了。 它是e.originalEvent.dataTransfer.getData('Text')

有趣的问题。 我相信这可能的; 但是我确实认为存在一些局限性。

据我所知,大多数平台/浏览器在拖放文本内容方面的行为方式类似(无论是原始文本,url,“炸鱼薯条”等等)。一旦你“贬低”一些将文本放入文本框中,文本框将填充该内容。 因此,您可以指示您的用户将链接/文本删除到特定的文本区域…

关于检测何时发生丢弃,我认为您将不得不依赖于setInterval方法来检查某个文本框的值/内容,以了解何时插入了有效的URL。


*现在关于限制 – 我不知道(在我的头脑中)这个function确实是通用的,但我相信这是所有“主要”浏览器的标准function,它不涉及该平台。

* 希望从更有学问的人那里得到一些确认。

我认为,对于您的情况,您必须为浏览器创建插件或扩展。

只要将url拖放到浏览器地址元素,页面就会被加载,JavaScript将无法运行。