Drag-Drop elements between parent frame and child iframe

后端 未结 3 1080
囚心锁ツ
囚心锁ツ 2020-12-05 08:47

I am trying to drag-drop elements between parent frame and iframe using jQuery. I have a panel in parent frame which contains some draggable items which can be dropped on th

相关标签:
3条回答
  • 2020-12-05 09:09

    AFAIK, if iframes come from different domains, this is not doable in a "common" way (unless you control both iframes), browser security measures prevent it, otherwise you could wrap a banking website and steal passwords, for example, when you log in.

    Some info on workarounds: http://softwareas.com/cross-domain-communication-with-iframes

    If you control both iframes:

    Drag & Drop between iframes by sample: http://www.dhtmlx.com/docs/products/dhtmlxTree/samples/05_drag_n_drop/06_pro_drag_frame.html

    Cross Browser HTML5 Drag and Drop: http://www.useragentman.com/blog/2010/01/10/cross-browser-html5-drag-and-drop/

    Another sample: http://jqfaq.com/how-to-implement-drag-and-drop-between-iframes/

    0 讨论(0)
  • 2020-12-05 09:16

    Using HTML5 Drag and Drop API to create Cross Frame and Cross Browser Implementation. http://blog.stackhive.com/post/137799349684/building-a-seamless-drag-and-drop-interface

    EDIT - The previous link wasn't valid (dockPHP got rebranded as StackHive) so have written out a more complete post that can help in creating an epic drag and drop interface.

    0 讨论(0)
  • 2020-12-05 09:19

    Irrespective of the structure of frames, one can always use Robot class to drag and drop elements across them. I am providing a sample code just in case:

    //Setting up chrome driver
    WebDriverManager.getInstance(CHROME).setup();
    WebDriver driver = new ChromeDriver();
    driver.manage().window().maximize();
    
    //Redirecting to the website
    driver.get("https://codepen.io/rjsmer/full/vvewWp");
    
    Robot robot = new Robot();
    robot.mouseMove(x-coordinate1, y-coordinate1);
    robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);
    
    Thread.sleep(2000);
    robot.mouseMove(x-coordinate2, y-coordinate2);
    
    Thread.sleep(2000);
    robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
    
    0 讨论(0)
提交回复
热议问题