удаление файлов не работает на MacOSX Safari Silverlight 4 / dragenter и Dragleave, однако, сделать - PullRequest
0 голосов
/ 25 октября 2011

Когда я перетаскиваю файл в приложение (на моем MacBook Air), срабатывает функция silverlight.Однако, когда я выпускаю файл в приложении, приложение вылетает.Вот код javascript:

    function onSilverlightLoad(sender, args) {
        if (window.navigator.userAgent.indexOf('Safari') >= 0) {
            var objControl = document.getElementById('SLObject');
            objControl.addEventListener('dragenter',
        onSilverlight_HandleDragEnter, false);
            objControl.addEventListener('drop',
        onSilverlight_handleDropEvent, false);
            objControl.addEventListener('dragover',
        onSilverlight_HandleDragOver, false);
            objControl.addEventListener('dragleave',
        onSilverlight_HandleDragLeave, false);
        }
    }
    function onSilverlight_HandleDragEnter(oEvent) {
        // Prevent default operations in DOM
        oEvent.preventDefault();
        var flag = oEvent.target.dragEnter(oEvent);
        // If handled, then stop propagation of event in DOM
        if (flag) { oEvent.stopPropagation(); }
    }
    function onSilverlight_HandleDragOver(oEvent) {
        // Prevent default operations in DOM
        oEvent.preventDefault();
        var flag = oEvent.target.dragOver(oEvent);
        // If handled, then stop propagation of event in DOM
        if (flag) { oEvent.stopPropagation(); }
    }
    function onSilverlight_HandleDragLeave(oEvent) {
        // Prevent default operations in DOM
        oEvent.preventDefault();
        var flag = oEvent.target.dragLeave(oEvent);
        // If handled, then stop propagation of event in DOM
        if (flag) { oEvent.stopPropagation(); }
    }
    function onSilverlight_handleDropEvent(oEvent) {
        // Prevent default operations in DOM
        oEvent.preventDefault();
        var flag = oEvent.target.dragDrop(oEvent);
        // If handled, then stop propagation of event in DOM
        if (flag) { oEvent.stopPropagation(); }
    }

И я использовал эти 2 строки внутри тела html-страницы.

    <object id="SLObject" data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%" >
     <param name="onLoad" value="onSilverlightLoad" />

Я не знаю, почему drop не работает, любые идеи?Это ошибка, которую я получаю в отладчике при удалении файла:

The program '[2358] /System/Library/PrivateFrameworks/WebKit2.framework/PluginProcess.app/Contents/MacOS/PluginProcess /System/Library/PrivateFrameworks/WebKit2.framework/WebKit2 -type pluginprocess -servicename com.apple.WebKit.WebProcess-2034-0x10d886a78 -localization en_U: Managed' has exited with code 862976304 (0x336ff930).
...