问题标签 [shouldstartload]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
253 浏览

iphone - iPhone ShouldStartLoad 每次点击触发一次?

在我的 UIWebView 中,当单击锚点时,我在 ShouldStartLoad 中捕获它并始终返回 false 以取消它。(我将点击视为执行操作的命令)

奇怪的是,如果连续多次单击同一个锚点,ShouldStartLoad 只会触发一次。

例如:点击“A”,点击“A”——ShouldStartLoad 收到一次“A”

单击“A”,单击“B”,单击“A”-ShouldStartLoad 接收“A”,然后是“B”,然后是“A”

有没有办法让 ShouldStartLoad 在连续单击两次时收到两次“A”?

我尝试每次更改“A”的网址,以便每次点击都是不同的网址。但是,似乎一旦我单击一个元素,再次单击它就不会触发 ShouldStartLoad,直到我单击另一个元素。

0 投票
0 回答
622 浏览

iphone - UIWebView goBack 方法在不同设备上的作用不同

第一台设备:

  • 8GB 第二代
  • 版本:3.1.3 (7E18)
  • 型号:MB528LL

第二设备:

  • 32GB 第三代
  • 版本:3.1.3 (7E18)
  • 型号:MC008LL

当我在 8gb 设备上调用 goBack 时,调用 shouldStartLoadWithRequest:navigationType:

当我在 32gb 设备上调用 goBack 时,不调用 shouldStartLoadWithRequest:navigationType:

我没有做任何缓存(无论如何都不喜欢它)。为了确保它没有缓存,我通过请求对象的缓存策略删除了任何可能的缓存,并在调用 webViewDidFinishLoading 时删除所有缓存。

相同的应用程序,相同的网址,一切都相同,但设备本身。

任何人都知道为什么会发生这种情况?

仅供参考: shouldStartLoadWithRequest:navigationType: 在调用 goBack 时在模拟器上调用

0 投票
1 回答
346 浏览

iphone - 哪个 UIWebView 有加载请求?

所以我的班级有两个不同的 UIWebView 对象(一个是菜单,另一个是内容)。我们称它们为 UIWebView "A" 和 UIWebView "B"

在我的 shouldStartLoadWithRequest 中,我如何确定从哪个 UIWebView 调用链接?是“A”还是“B”?我以为我可以只检查“标题”或“名称”之类的属性,所以我查看了文档但没有这样的运气。

我正在寻找这样的东西......

如果我记录整个 webView,我会得到一个很大的哈希值,但没有引用我在 IBOutlet 中给它的原始名称。希望这是有道理的。

另外,有人可以指出我如何在文档中找到这种属性,因为这似乎是我想做的一件非常基本的事情。

0 投票
0 回答
1730 浏览

http - MonoTouch 中的 UIWebView 和基本身份验证

在 MonoTouch 项目中,我有一个 UIWebView 加载一个基本身份验证保护的 url。通过手动添加基本身份验证标头,我设法针对对 url 的第一个请求进行身份验证:

它在 UIWebView 中打开的第一页中运行良好。但是,当在 web 视图中单击 href 链接时,请求失败并显示 401。我通过 Fiddler 检查了发送的标头,并且在第一个请求之后的任何后续请求中都没有发送我的标头。我尝试将标头注入到 ShouldStartLoad 委托中的所有请求中,但没有结果:

我应该如何将 Authorization http 标头注入 UIWebView 中的所有请求?

0 投票
1 回答
4906 浏览

ios - UIWebView 返回特定页面

我遇到了 UIWebView 的 goBack 函数的问题。

我的要求是当用户按下一个按钮(称为“后退按钮”)时,我必须在某些条件下将用户重定向到特定页面。把它想象成一个“购物车系统”:当用户在“菜单”页面时,他选择了一个项目并“将一个项目添加到购物车”。当他点击“删除一个项目”时,然后转到“该项目被删除”页面。当用户单击“返回按钮”时,用户应该返回“菜单”而不是空购物车页面。

为了解决这个问题,我考虑使用“队列”来保存 URL 历史记录,然后用户在某些条件下按下“返回按钮”,从“队列”重新加载 URL。

由于这个答案,我用入队/出队函数制作了自定义 NSMutableArray 。然后使用它来存储 URL 历史记录:

然后在某些条件下按下“返回按钮”时调用“重新加载”:

现在我可以成功地将“delBackPage”作为“菜单”页面的 URL。但是当我用那个 URL 重新加载 webView 时,它就不起作用了。

我错过了什么吗?有什么办法可以做到这一点?如果有更好的方法来控制 WebView 的 URL,将不胜感激。

编辑

感谢 Chris 的提示,我们终于成功控制了“返回按钮”,如下所示:

和“返回按钮”...

我希望这种方法可以帮助所有面临类似问题的人......

0 投票
1 回答
2600 浏览

ios - 修改 webView 的 Request 的 shouldStartLoadWithRequest:

目前我正在开发一个混合应用程序,它使用 webView shouldStartLoadWithRequest: 为登录提供令牌。我的功能适用于我提出的每个正常请求(例如单击)

我对这段代码的问题是,如果我加载一个图像,例如它会被检测为“被散列附加”(这是正确的,我希望每个请求都包含 Auth)但是图像将被加载到Webview 本身。

我的第一次尝试(在我切换到这个模型之前)是修改解析的请求。但是每一个变化都被忽略了......

有谁知道我该如何解决这个问题?有没有办法真正修改请求?或者如果没有,我至少可以确定请求的“目标”或转发它吗?

谢谢你的帮助

0 投票
1 回答
213 浏览

uiwebview - 为什么 shouldStartLoadWithRequest 只在第一次被调用?

我正在尝试显示用户可以在我的应用程序中切换的网页列表。我已经用文件成功地做到了这一点。但是,我不希望用户能够从这些页面导航。我通过查找发现了如何做到这一点。问题是它只在第一页上执行。当我切换到另一个页面时,即使我回到第一页,shouldStartLoadWithRequest 也会停止工作。(这一切都是通过我专门设计的后退和前进按钮完成的。)我该如何解决这个问题,以便每次都调用它并防止用户单击链接并离开我的设置页面?我是objective-c的新手。所有相关代码如下。有些东西是在 .h 中全局声明的。对不起,有点粗糙。我只选择了将其转换为代码格式所需的内容。谢谢!

我的 .h 文件:

我的 .m 文件

0 投票
2 回答
193 浏览

ios - UITabBarViewController 不旋转 - iOS

我有一个UITabBarViewController包含 5 个选项卡和一个不属于我的选项卡栏的登录视图,在我的设置中,我已设置支持所有设备方向。但是当我运行我的应用程序时,只有我的登录视图是唯一旋转的。

我创建了一个自定义UITabBarController并实现了这些方法

我的标签栏仍然没有旋转,但是当我将设备方向更改为横向时,我可以看到我的状态栏消失了。

我该如何解决这个问题?

0 投票
2 回答
711 浏览

ios - 防止用户在 Swift 中离开网站

我想在显示网站的 iPad 应用程序中创建一个 WebView。我想阻止用户点击链接到其他网站(例如 Facebook、Twitter、...)的链接,但应该允许他在当前网站上自由移动。

我怎样才能做到这一点?

我试过:

但它没有用。我仍然可以访问其他网站。

如果有人可以帮助我,那就太棒了。

0 投票
3 回答
10822 浏览

ios - Xcode,斯威夫特;检测 UIWebView 中的超链接点击

我用 Xcode 和 Swift 制作了一个 iOS 应用程序。

我想在 Safari 浏览器中打开特定的超链接,在 WebView 本身中还有其他的。

为此,我必须检查何时单击超链接。

这是我到目前为止的代码:

中的代码从我的服务器viewDidLoad()打开加载主 URL ( http://www.example.com )。这很好用。

override fun webView[…]应该检测是否单击了超链接,然后print("You clicked a hypelink!").

但不幸的是,我收到以下错误:

我的代码的一个错误和一个警告

我究竟做错了什么?如何摆脱这些错误?