tl;dr элемент, который можно перетаскивать при просмотре в Chrome, нельзя перетаскивать при просмотре в пакетном приложении Chrome <webview>
. Почему?
РЕДАКТИРОВАТЬ:
Протестировано на Chrome 29.0.1521.3 dev, по-прежнему не повезло, когда внутри упакованного приложения, но сам Chrome работает нормально.
Экспериментируя с упакованными приложениями Chrome, я хотел проверить возможности WebView... По-видимому, страницы, загруженные в WebView, должны вести себя точно так же, как если бы они просматривались из самого Chrome (за исключением нескольких отключенных функций).
Я сделал приложение, состоящее исключительно из страницы с одним <webview>
. Внутренняя страница показывает <ol>
с тремя элементами <li>
. Каждый <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,
});
}
Тест.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 должны хотя бы что-то делать, когда пользователь перетаскивает их, но они никак не реагируют.