diff --git a/Core/FormBrowser.cs b/Core/FormBrowser.cs index d6122c78..d0192145 100644 --- a/Core/FormBrowser.cs +++ b/Core/FormBrowser.cs @@ -111,8 +111,11 @@ private void Browser_LoadingStateChanged(object sender, LoadingStateChangedEvent private void Browser_FrameLoadEnd(object sender, FrameLoadEndEventArgs e){ if (e.Frame.IsMain){ ScriptLoader.ExecuteFile(e.Frame,"code.js"); - ScriptLoader.ExecuteFile(e.Frame,PluginManager.PluginScriptFile); - plugins.ExecutePlugins(e.Frame,PluginEnvironment.Browser); + + if (plugins.HasAnyPlugin(PluginEnvironment.Browser)){ + ScriptLoader.ExecuteFile(e.Frame,PluginManager.PluginBrowserScriptFile); + plugins.ExecutePlugins(e.Frame,PluginEnvironment.Browser); + } } } diff --git a/Plugins/PluginManager.cs b/Plugins/PluginManager.cs index d4b7c63e..73f5c1f5 100644 --- a/Plugins/PluginManager.cs +++ b/Plugins/PluginManager.cs @@ -36,6 +36,10 @@ public int CountPluginByGroup(PluginGroup group){ return plugins.Count(plugin => plugin.Group == group); } + public bool HasAnyPlugin(PluginEnvironment environment){ + return plugins.Any(plugin => plugin.Environments.HasFlag(environment)); + } + public void Reload(){ HashSet<Plugin> prevPlugins = new HashSet<Plugin>(plugins); plugins.Clear(); diff --git a/Resources/ScriptLoader.cs b/Resources/ScriptLoader.cs index 3a979e01..dc84ccca 100644 --- a/Resources/ScriptLoader.cs +++ b/Resources/ScriptLoader.cs @@ -19,11 +19,11 @@ public static string LoadResource(string name){ } public static void ExecuteFile(ChromiumWebBrowser browser, string file){ - ExecuteScript(browser,LoadResource(file),"root:"+Path.GetFileNameWithoutExtension(file)); + ExecuteScript(browser,LoadResource(file),GetRootIdentifier(file)); } public static void ExecuteFile(IFrame frame, string file){ - ExecuteScript(frame,LoadResource(file),"root:"+Path.GetFileNameWithoutExtension(file)); + ExecuteScript(frame,LoadResource(file),GetRootIdentifier(file)); } public static void ExecuteScript(ChromiumWebBrowser browser, string script, string identifier){ @@ -39,5 +39,9 @@ public static void ExecuteScript(IFrame frame, string script, string identifier) frame.ExecuteJavaScriptAsync(script,UrlPrefix+identifier,1); } + + public static string GetRootIdentifier(string file){ + return "root:"+Path.GetFileNameWithoutExtension(file); + } } }