Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从UIWebview中删除图像_Javascript_Ios_Iphone_Uiwebview_Epub - Fatal编程技术网

Javascript 从UIWebview中删除图像

Javascript 从UIWebview中删除图像,javascript,ios,iphone,uiwebview,epub,Javascript,Ios,Iphone,Uiwebview,Epub,在我的iPhone应用程序中,一个基于该方法的epub阅读器,我解析了epub,创建了UIWebView,但我有一个小问题。epubs中的图像大于iPhone屏幕的宽度(320像素)。是否有一种Javascript方法可以在UIWebview([view stringByEvaluatingJavaScriptFromString:SomeJavaScriptString])上调用,并以编程方式删除这些图像,而无需手动更改epub 更新:问题可能是源文件是xml文件而不是HTML吗?您可能需要类

在我的iPhone应用程序中,一个基于该方法的epub阅读器,我解析了epub,创建了UIWebView,但我有一个小问题。epubs中的图像大于iPhone屏幕的宽度(320像素)。是否有一种Javascript方法可以在UIWebview(
[view stringByEvaluatingJavaScriptFromString:SomeJavaScriptString]
)上调用,并以编程方式删除这些图像,而无需手动更改epub


更新:问题可能是源文件是xml文件而不是HTML吗?

您可能需要类似以下内容:
document.getElementById(“图像的id”)。style.visibility='hidden'

更新 要隐藏文档中的所有图像

for (i=0; i<document.getElementsByTagName("img").length; i++) {
    document.getElementsByTagName("img")[i].style.visibility = 'hidden';
}

for(i=0;i您可能需要类似这样的内容:
document.getElementById(“您的图像的id”)。style.visibility='hidden'

更新 要隐藏文档中的所有图像

for (i=0; i<document.getElementsByTagName("img").length; i++) {
    document.getElementsByTagName("img")[i].style.visibility = 'hidden';
}
for(i=0;i
var-images=Array.prototype.slice.call(document.getElementsByTagName('IMG'),0);
var imageCount=images.length;
对于(变量i=0;i
var images=Array.prototype.slice.call(document.getElementsByTagName('IMG'),0);
var imageCount=images.length;
对于(变量i=0;i
如果您处理的不是看到细节很重要的图形或图像,为什么不:

1) 编写一些CSS,根据方向设置320px或640px图像的最大宽度…有关如何为不同方向使用不同CSS的信息,请参阅

2) 在任何其他样式或样式表链接之后的每个HTML文件中插入CSS-在
元素中,该元素是在
工作之前添加的

?

这样,图像仍然可见,但不会超过一个页面宽度


作为下一步,您可以使用类似
的东西包装图像,其中x是图像文件名-然后在UIWebViewDelegate的“shouldStartLoadWithRequest”函数中检查request.URL.scheme==“zoom”-如果是,您可以在可缩放的容器中推送包含图像x的新视图,像iBooks。

如果你不处理那些看到细节很重要的图形或图像,为什么不:

1) 写一些CSS,根据方向设置320px或640px图像的最大宽度。。。。有关如何为不同方向使用不同css的信息,请参见

2) 在任何其他样式或样式表链接之后的每个HTML文件中插入CSS-在
元素中,该元素是在
工作之前添加的

?

这样,图像仍然可见,但不会超过一个页面宽度



作为下一步,您可以使用
之类的东西包装图像,其中x是图像文件名-然后在UIWebViewDelegate的“shouldStartLoadWithRequest”函数中检查request.URL.scheme==“zoom”-如果是,您可以在可缩放的容器(如iBooks)中推送包含图像x的新视图。

是,但我不想知道图像的id,因为图像没有id,正如我在OP中所说的,我不想手动编辑epub。有没有一种方法可以选择所有带有“img”标签的元素并隐藏它们?奇怪的是,这在iPhone safari中有效,但在我的应用程序中无法正确注入。。。。我可以让其他JS注入,但是(
警报(“hello world!”)
)我会接受这一点,因为这是有效的,但是,我最终以编程方式更改HTML并删除了
标记,您可以在函数中包含一个外部JavaScript文件,只需使用
stringByEvaluatingJavaScriptFromString:
调用该函数即可。您的答案是正确的。我的要求是,在UIWebview中加载任何url时,它只显示文本而不显示图像。我怎样才能阻止它。。。在您的回答中,什么是文档???是的,但我不想知道图像的id,因为图像没有id,正如我在OP中所说的,我不想手动编辑epub。有没有一种方法可以选择所有带有“img”标签的元素并隐藏它们?奇怪的是,这在iPhone safari中有效,但在我的应用程序中无法正确注入。。。。我可以让其他JS注入,但是(
警报(“hello world!”)
)我会接受这一点,因为这是有效的,但是,我最终以编程方式更改HTML并删除了
标记,您可以在函数中包含一个外部JavaScript文件,只需使用
stringByEvaluatingJavaScriptFromString:
调用该函数即可。您的答案是正确的。我的要求是,在UIWebview中加载任何url时,它只显示文本而不显示图像。我怎样才能阻止它。。。在您的回答中,什么是文档???当我注入这个JS时,UIWebview上似乎什么都没有发生。。视图已加载,但屏幕上什么也没发生,结果是
nil
。。。我还可以验证这个JS代码是否有效:
window.scrollTo(0,0)。你知道为什么你的代码没有被正确地注入吗?如果你先注入前两行,然后发出警报(imageCount);,会发生什么?它返回0。问题是否在于它是一个xml文件而不是HTML(实际上是XHTML)?仍然可以工作。你能将文档的一部分粘贴到粘贴箱中或编辑你的q吗?是的,在这里试试:图像不包括在内,但是…当我注入这个JS时,UIWebview上似乎什么都没有发生。。视图已加载,但屏幕上什么也没发生,结果是
nil
。。。我还可以验证这个JS代码是否有效:
window.scrollTo(0,0)。你知道为什么你的代码没有被正确地注入吗?如果你先注入前两行,然后发出警报(imageCount);,会发生什么?它返回0。问题是否在于它是一个xml文件而不是HTML(实际上是XHTML)?仍然可以工作。您可以将文档的一部分粘贴到粘贴箱中或编辑q吗?可以,请尝试h