【发布时间】:2013-05-14 01:44:35
【问题描述】:
tl;dr在 Chrome 中查看时可拖动的元素在 Chrome 打包应用程序的 <webview> 中查看时不可拖动,为什么?
编辑:
在 Chrome 29.0.1521.3 dev 上测试,在打包的应用程序中仍然没有运气,但 Chrome 本身工作正常。
尝试使用 Chrome 打包应用程序,我想测试 WebView 的功能...显然,在 WebView 中加载的页面的行为应该与从 Chrome 本身查看它的行为完全相同(除了一些功能被禁用)。
我制作了一个应用程序,该应用程序仅包含一个带有单个 <webview> 的页面。内页显示一个带有三个 <li> 元素的 <ol>。每个<li> 都有draggable="true" 属性,但无论我尝试什么,元素都不会对拖动做出反应。
我知道 Chrome 打包应用程序有许多 CSS 声明来避免用户选择文本等,但其中有什么可以阻止东西被拖动吗?
manifest.json
{
"manifest_version": 2,
"name": "WebView test",
"minimum_chrome_version": "24.0.1307.0",
"version": "1.0",
"icons": {
"16": "Icon_16.png",
"128": "Icon_128.png"
},
"app": {
"background": {
"scripts": ["Main.js"]
}
},
"permissions": [
"webview"
]
}
Main.js
chrome.app.runtime.onLaunched.addListener(function() {
runApp();
});
chrome.app.runtime.onRestarted.addListener(function() {
runApp();
});
function runApp() {
chrome.app.window.create('Test.html', {
"minWidth": 500,
"minHeight": 700,
"frame": "none",
"resizable": false,
});
}
Test.html
<!doctype html>
<webview src="http://localhost/WebViewPage.html" style="width:100%;height:100%"></webview>
WebViewPage.html
<ol>
<li draggable="true">One</li>
<li draggable="true">Two</li>
<li draggable="true">Three</li>
</ol>
<script>
// Returns "true":
console.log('draggable' in document.createElement('li'));
</script>
上面的 LI 至少应该在用户拖动它们时做一些事情,但它们根本没有反应。
【问题讨论】:
-
你会在金丝雀版本上再试一次吗?在过去的几周里,webview 团队一直在做大量的拖拽工作,他们已经发布了几个补丁。
-
@sowbug 抱歉,我是一名开发人员,因此使用 Linux(笑话)。但说真的...... Canary 不适用于 Linux?谁做这个决定?
-
Greg:有一些技术原因,在大多数 Linux 发行版上,频繁更新频道要么很难,要么不可能。我会试着找出细节。你至少在开发吗?新版本通常在星期二发布。
-
是的,我正在开发,但在应用中没有可拖动的迹象
-
在 29.0.1521.3 dev 上测试过,仍然没有运气
标签: html google-chrome-app html5-draggable