34 lines
969 B
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
|
|
}
|
|
);
|
|
});
|
|
})();
|
|
"""
|