我怎样才能删除一些注入的脚本
How can i remove some Injected Script
我正在我的 GWT 应用程序中注入脚本
ScriptInjector.fromUrl("js/jquery-1.7.2.min.js").setWindow(ScriptInjector.TOP_WINDOW).setCallback(new Callback<Void, Exception>()
{
@Override
public void onSuccess(Void paramT)
{
ScriptInjector.fromUrl("js/viewer-2.2.1/WebViewer.min.js").setWindow(ScriptInjector.TOP_WINDOW).setCallback(new Callback<Void, Exception>()
{
@Override
public void onSuccess(Void paramT)
{
ScriptInjector.fromString(getCreateInjection()).setWindow(ScriptInjector.TOP_WINDOW).setRemoveTag(false).inject();
}....
现在在应用程序的后面有一种方法可以删除我之前注入的这个脚本。
简而言之,由于 JS 的工作方式,您可能可以执行您所描述的操作并删除脚本标签本身,但可能无法执行您实际的意思 - 代码已执行,您不能将牙膏放回管中。通常可以删除脚本标签,也可以删除一些已创建的函数或已创建的类型,但任何已经 运行 并与您的页面交互的代码将一直存在,直到它决定待完成。
相反,您想了解您正在使用的 JS 脚本,看看是否有办法要求它完成,删除它修改过的任何元素,等等。
--
fromUrl
和 fromString
变体都使用 inject()
方法,并且两种方法都 return 和 JavaScriptObject
。该对象是实际的 <script>
标签 - 您可以将其转换为 Element
并在其上调用 removeFromParent()
,脚本标签将消失 - 但包含脚本的副作用仍然存在在那里。
其他选项包括在它自己的 <iframe>
中调用它并小心地从主页调用它,然后删除 iframe - 这只是作为删除所有导出函数等的简单方法,但是不会消除任何其他副作用。要了解如何做到这一点,您需要完全了解脚本在做什么 - 希望他们有文档来描述您如何实现您所追求的目标(或者您可以进一步澄清您的问题)。
我正在我的 GWT 应用程序中注入脚本
ScriptInjector.fromUrl("js/jquery-1.7.2.min.js").setWindow(ScriptInjector.TOP_WINDOW).setCallback(new Callback<Void, Exception>()
{
@Override
public void onSuccess(Void paramT)
{
ScriptInjector.fromUrl("js/viewer-2.2.1/WebViewer.min.js").setWindow(ScriptInjector.TOP_WINDOW).setCallback(new Callback<Void, Exception>()
{
@Override
public void onSuccess(Void paramT)
{
ScriptInjector.fromString(getCreateInjection()).setWindow(ScriptInjector.TOP_WINDOW).setRemoveTag(false).inject();
}....
现在在应用程序的后面有一种方法可以删除我之前注入的这个脚本。
简而言之,由于 JS 的工作方式,您可能可以执行您所描述的操作并删除脚本标签本身,但可能无法执行您实际的意思 - 代码已执行,您不能将牙膏放回管中。通常可以删除脚本标签,也可以删除一些已创建的函数或已创建的类型,但任何已经 运行 并与您的页面交互的代码将一直存在,直到它决定待完成。
相反,您想了解您正在使用的 JS 脚本,看看是否有办法要求它完成,删除它修改过的任何元素,等等。
--
fromUrl
和 fromString
变体都使用 inject()
方法,并且两种方法都 return 和 JavaScriptObject
。该对象是实际的 <script>
标签 - 您可以将其转换为 Element
并在其上调用 removeFromParent()
,脚本标签将消失 - 但包含脚本的副作用仍然存在在那里。
其他选项包括在它自己的 <iframe>
中调用它并小心地从主页调用它,然后删除 iframe - 这只是作为删除所有导出函数等的简单方法,但是不会消除任何其他副作用。要了解如何做到这一点,您需要完全了解脚本在做什么 - 希望他们有文档来描述您如何实现您所追求的目标(或者您可以进一步澄清您的问题)。