Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

问题和需求 在firefox中创建node失败 #30

Open
ahayaSKBINCN opened this issue Mar 16, 2020 · 7 comments
Open

问题和需求 在firefox中创建node失败 #30

ahayaSKBINCN opened this issue Mar 16, 2020 · 7 comments

Comments

@ahayaSKBINCN
Copy link

在线示例也是这种情况;
希望大牛在更新版本之后能把接口都暴露出来;
希望能支持item command 和 detail 自定义

@guozhaolong
Copy link
Owner

firefox我没试过呀,按说应该没问题啊,这本身是基于G6封装的,再暴露貌似没啥意义啊,我正改新版本呢。。。还有个拖拽的页面设计器也在改

@ahayaSKBINCN
Copy link
Author

测试了下 我发现问题处在监听事件上面 emmm... safari 和firefox 的event 事件和chrome 有所不同;导致实际创建的节点在画布外面。在addNode 的时候要写浏览器适配貌似 。
在firefox 中创建节点 会造成创建新的标签页并显示拖拽的img。
目前还没有找到什么好的方法去适配浏览器 感觉就只有在chrome中比较稳定。
也可能时我的操作问题233

@guozhaolong
Copy link
Owner

我正重构这个设计器呢,把节点重新封装一下,变得简单一些,而不是暴露flowable的节点

@wrh4585
Copy link

wrh4585 commented Jul 17, 2020

我也遇到了这个问题,在Firefox 67.0版本中,添加节点会新打开标签页并且左侧img里的svg图标显示巨大。
感觉上是Firefox在拖动的时候加载了img标签的URL,每次拖动时都会改变地址栏的url,在e.dataTransfer.setDragImage(ghost, 0, 0);处加上断点后,就可以显示。。。

@wrh4585
Copy link

wrh4585 commented Jul 17, 2020

测试了下 我发现问题处在监听事件上面 emmm... safari 和firefox 的event 事件和chrome 有所不同;导致实际创建的节点在画布外面。在addNode 的时候要写浏览器适配貌似 。
在firefox 中创建节点 会造成创建新的标签页并显示拖拽的img。
目前还没有找到什么好的方法去适配浏览器 感觉就只有在chrome中比较稳定。
也可能时我的操作问题233

你好,请问这个问题最后怎么解决的呢?

@ahayaSKBINCN
Copy link
Author

测试了下 我发现问题处在监听事件上面 emmm... safari 和firefox 的event 事件和chrome 有所不同;导致实际创建的节点在画布外面。在addNode 的时候要写浏览器适配貌似 。
在firefox 中创建节点 会造成创建新的标签页并显示拖拽的img。
目前还没有找到什么好的方法去适配浏览器 感觉就只有在chrome中比较稳定。
也可能时我的操作问题233

你好,请问这个问题最后怎么解决的呢?

你好 没有解决 如果禁用拖拽 直接生成到固定位置就没有问题了 由于我不是很了解 safari 和 firefox 和 chrome 的事件区别 导致一直没有达到想要的效果.

@wrh4585
Copy link

wrh4585 commented Jul 30, 2020

测试了下 我发现问题处在监听事件上面 emmm... safari 和firefox 的event 事件和chrome 有所不同;导致实际创建的节点在画布外面。在addNode 的时候要写浏览器适配貌似 。
在firefox 中创建节点 会造成创建新的标签页并显示拖拽的img。
目前还没有找到什么好的方法去适配浏览器 感觉就只有在chrome中比较稳定。
也可能时我的操作问题233

你好,请问这个问题最后怎么解决的呢?

你好 没有解决 如果禁用拖拽 直接生成到固定位置就没有问题了 由于我不是很了解 safari 和 firefox 和 chrome 的事件区别 导致一直没有达到想要的效果.

这边我花了一天半的时间,基本上达到了在Firefox上也显示正常的效果,首先需要对浏览器标识进行判断,如果是Firefox需要做特殊的处理。由于Firefox的拖拽事件会有一个默认的搜索行为,如果是图片的话,会直接打开图片。此时需要在添加事件dragstart时,设置e.dateTransfer.setData(),还需要在dragPanelItemAddNode.js中node:drop事件,node:drop事件中阻止默认行为和冒泡,然后在onmousemove和onmouseup事件中针对Firefox仿照原有实现添加实现的代码就好。
代码不方便发,具体就是这样,网络上的关于火狐的拖拽有好多解决办法,但在此处感觉就不行,把drag行为中的所有事件都基本上试了一次,好歹也算是解决了,<( ̄~ ̄)/!!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants