拖放一个URL到使用jQuery浏览器和进程(Drag and Drop a URL into a

2019-07-30 01:38发布

我需要拖放一个URL(在浏览器中的地址栏)到一个网页,让使用链接到web服务的请求,并采取JSON回应并填充表格的能力。

我已经能够创建处理该链接的网络服务,并且我已经能够使用jQuery.ajax提出要求,但我不能确定如何与下降的链接互动。

任何人都可以点我一个这样的例子? 我应该怎么使用?

编辑:

我已经能够使用“降”火了我的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')

Answer 1:

有趣的问题。 我认为这可能的; 不过,我认为有一些限制的可能性。

据我所知,大多数的平台/浏览器以类似的方式对于拖放文本内容的行为(无论是原始文本,网址,“鱼和薯条”,等...),只要你“水滴”一些文成一个文本框,文本框与内容填充。 所以,你可以指导用户下降到特定的textarea的链接/文...

至于当发生跌落检测,我认为你将不得不依赖于setInterval方法检查时,一个有效的URL已插入值/特定文本框的内容就知道了。


*现在关于限制-我不知道(把我的头顶部),如果这个功能确实是普遍的,但我不相信这是所有“重大”浏览器的标配功能,它不涉及该平台。

* 很想从更了解到个人得到一些这方面的确认。



Answer 2:

为了提高LIX的与setInterval的概念解决方案:因为它不断重复,不要做的setInterval,而不是添加下拉听者这样一个超时:

var $t=$('textarea');
$t.on('drop',(event)=>{
  setTimeout(()=>{alert(event.target.value);},0);
});


Answer 3:

我觉得对于你的情况,你必须创建一个浏览器插件或扩展。

只要你把链接直接在浏览器地址元素,页面被载入和你的JavaScript将无法运行。



文章来源: Drag and Drop a URL into a browser and process using jQuery