【问题标题】:chrome extension, jstree, iframe: drag and dropchrome 扩展、jstree、iframe:拖放
【发布时间】:2012-05-09 12:23:48
【问题描述】:

我是 chrome 扩展开发的新手,我正在构建一个需要侧面板(而不是弹出窗口)的面板,例如 firebug,但在右侧。 我在侧面板中使用 jsTree(带有 json_data),我想将元素从网页拖到侧面板。

到目前为止,为了创建侧面板,我使用了一个附加到带有 z-index 的主体的 div,以便它显示在网页上方,但是我的侧面板中的元素样式由于网站的.

所以我想我可以使用 iframe 来避免侧面板中的任何 css 不兼容。 我使用 src="chrome-extension:///page.html" 动态创建 iframe。

通过直接在 iframe 的源页面中加载 jquery+jstree 脚本,我设法使我的 jstree 在 iframe 中正常工作...这很糟糕,但我无法获得用于 iframe 的内容脚本源页面(尽管 "all_frames": true)。

我想将网站页面中的元素拖到 iframe 中的 jstree 中... 我找到了 iframeFix: true 和 refreshPositions: true,但这似乎并没有改变任何东西...... 有人知道怎么做吗?

如果我不使用 iframe,根据网络上的多个示例,我可以使用 dnd 插件轻松地将元素拖放到 jstree。 我没试过;即使它有效,我侧面板中的 css 也会被更改,我不能让这种情况发生。

我见过“iframe 上方的 div 层”技术。我可以成功地从 iframe 上方那个 div 的网页上删除一个元素。 但是,当我尝试通过端口向 iframe 发布消息(包含已删除元素的数据)时,iframe 不会收到消息。 在这种情况下,我的想法是以某种方式将消息添加到 jstree 的 json 数据中。

我已经阅读了我找到的所有关于 content_scripts 和 iframe 的帖子,我知道这些错误...我不知道它是否已修复,如果是,我不知道如何使 ifra 和内容脚本之间的端口通信正常工作。 有人知道更多吗?

我还应该补充一点,当我尝试使用端口在内容脚本和 iframe 之间进行通信,并从后台页面中的 iframe 复制侦听器时,后台页面接收到消息就好了......这只是意味着我想端口通信工作正常,但内容脚本和 iframe 之间没有......

有什么想法吗?我真的卡住了

【问题讨论】:

    标签: css google-chrome iframe google-chrome-extension jstree


    【解决方案1】:

    回答我自己的问题; 我还没有找到关于如何在带有 jstree 的 chrome 扩展中使用 iframe 的解决方案。

    我只是走硬派路线;将<div> 附加到<body>,并通过大量测试确保我的<div> 中的css 将与网页的css 保持隔离。

    干杯

    【讨论】:

      猜你喜欢
      • 2013-10-12
      • 1970-01-01
      • 2012-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多