iosWebViewFix/flutter_inappwebview_macos/macos/Classes/PluginScriptsJS/OnScrollChangedJS.swift

34 lines
969 B
Swift

//
// OnScrollEvent.swift
// flutter_inappwebview
//
// Created by Lorenzo Pichilli on 16/10/22.
//
import Foundation
let ON_SCROLL_CHANGED_EVENT_JS_PLUGIN_SCRIPT_GROUP_NAME = "IN_APP_WEBVIEW_ON_SCROLL_CHANGED_EVENT_JS_PLUGIN_SCRIPT"
let ON_SCROLL_CHANGED_EVENT_JS_PLUGIN_SCRIPT = PluginScript(
groupName: ON_SCROLL_CHANGED_EVENT_JS_PLUGIN_SCRIPT_GROUP_NAME,
source: ON_SCROLL_CHANGED_EVENT_JS_SOURCE,
injectionTime: .atDocumentStart,
forMainFrameOnly: true,
requiredInAllContentWorlds: false,
messageHandlerNames: ["onScrollChanged"])
let ON_SCROLL_CHANGED_EVENT_JS_SOURCE = """
(function(){
document.addEventListener('scroll', function(e) {
var _windowId = \(WINDOW_ID_VARIABLE_JS_SOURCE);
window.webkit.messageHandlers["onScrollChanged"].postMessage(
{
x: window.scrollX,
y: window.scrollY,
_windowId: _windowId
}
);
});
})();
"""