相关疑难解决方法(0)

如何监听WebView完成加载URL?

我有一个WebView从Internet上加载页面.我想显示一个ProgressBar直到加载完成.

我如何监听完成页面加载WebView

android android-webview

422
推荐指数
10
解决办法
31万
查看次数

加载内容后要调用的AngularJs事件

我有一个函数,我想在加载页面内容后调用.我读到了$ viewContentLoaded,它对我不起作用.我正在寻找类似的东西

document.addEventListener('DOMContentLoaded', function () { 
     //Content goes here 
}, false);
Run Code Online (Sandbox Code Playgroud)

以上调用在AngularJs控制器中对我不起作用.

events loaded angularjs

158
推荐指数
5
解决办法
41万
查看次数

当调用didFinishNavigation时,WKWebView没有完成加载--WKWebView中的Bug?

目标:在网站加载完成后截取WKWebView的截图

采用的方法:

  • 在UIViewController中定义了WKWebView var
  • 创建了一个名为screen capture()的扩展方法,它获取了WKWebView的图像

  • 使我的UIViewController实现WKNavigationDelegate

  • 设置wkwebview.navigationDelegate = self(在UIViewController init中)

  • 在UIViewcontroller中实现didFinishNavigation委托func,为WKWebView调用屏幕捕获扩展方法

func webView(webView: WKWebView, didFinishNavigation navigation: WKNavigation!) {
    let img = webView.screenCapture()
}
Run Code Online (Sandbox Code Playgroud)

问题:

  • 当我调试i模拟器时,我注意到控件到达didFinishNavigation()函数,即使网站尚未在WKWebView中呈现
  • 相应地,拍摄的图像截图是白色斑点.

我在这里错过了什么?我查看了WKWebView的所有可能的委托函数,没有其他任何东西似乎代表WKWebView中内容加载的完成.如果有解决方法,将不胜感激


更新:添加我用于截取Web视图截屏的截图代码

class func captureEntireUIWebViewImage(webView: WKWebView) -> UIImage? {

    var webViewFrame = webView.scrollView.frame
    if (webView.scrollView.contentSize != CGSize(width: 0,height: 0)){
    webView.scrollView.frame = CGRectMake(webViewFrame.origin.x, webViewFrame.origin.y, webView.scrollView.contentSize.width, webView.scrollView.contentSize.height)

    UIGraphicsBeginImageContextWithOptions(webView.scrollView.contentSize, webView.scrollView.opaque, 0)
    webView.scrollView.layer.renderInContext(UIGraphicsGetCurrentContext())
     var image:UIImage = UIGraphicsGetImageFromCurrentImageContext()
     UIGraphicsEndImageContext()

     webView.scrollView.frame = webViewFrame         
     return image
    }

    return nil
 }
Run Code Online (Sandbox Code Playgroud)

objective-c webview ios swift

24
推荐指数
4
解决办法
3万
查看次数

检查给定的DOM元素是否准备就绪

有没有办法检查给定选择器/元素的HTML DOM元素是否已准备好使用jQuery或JavaScript?

查看jQuery api的ready函数,看起来它只能与文档对象一起使用.如果准备好不能用于此目的还有另一种方法吗?

例如

 $('h1').ready(function()
{
 //do something when all h1 elements are ready
});
Run Code Online (Sandbox Code Playgroud)

显然我可以使用

$(document).ready(function()
{
 //do something when all h1 elements are ready
});
Run Code Online (Sandbox Code Playgroud)

但是如果首先加载所有h1,那么特定于h1元素的代码将仅在整个文档准备好之后执行,即使它实际上可以更早地执行.

javascript jquery

22
推荐指数
1
解决办法
4万
查看次数

Swift webview:如何从javascript中正确调用swift代码?

我试图让我的javascript与swift代码交互但不幸的是我没有成功.

目前,我只是尝试更改标题颜色并显示一条消息,就像您将在下面的代码中看到的那样.

这是我的(index.html)代码:

<!DOCTYPE html>
<html>
    <head>
        <title>Test</title>
        <meta charset="UTF-8">
    </head>
    <body>
        <h1>WebView Test</h1>
        <script type="text/javascript" src="main.js"></script>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

这是我的(main.js -JavaScript)代码:

function callNativeApp () {
    try {
        webkit.messageHandlers.callbackHandler.postMessage("Send from JavaScript");
    } catch(err) {
        console.log('error');
    }
}

setTimeout(function () {
    callNativeApp();
}, 5000);

function redHeader() {
    document.querySelector('h1').style.color = "red";
}
Run Code Online (Sandbox Code Playgroud)

这是我的(ViewController.swift)代码:

import UIKit
import WebKit

class ViewController: UIViewController, WKScriptMessageHandler {

    @IBOutlet var containerView : UIView! = nil

    var webView: WKWebView?

    override func loadView() {
        super.loadView() …
Run Code Online (Sandbox Code Playgroud)

javascript xcode ios swift

22
推荐指数
1
解决办法
2万
查看次数

div准备好后如何调用函数?

我的javascript文件中有以下内容:

var divId = "divIDer";

jQuery(divId).ready(function() {
  createGrid();  //Adds a grid to the html
});
Run Code Online (Sandbox Code Playgroud)

html看起来像:

<div id="divIDer"><div>
Run Code Online (Sandbox Code Playgroud)

但有时我的divGrid函数会在我的divIder实际加载到页面之前被调用.那么当我尝试渲染我的网格时,它找不到适当的div来指向并且不会渲染.在我的div完全准备好使用之后,如何调用函数?

编辑:

我正在使用Extjs加载div:

var tpl = new Ext.XTemplate(
'<div id="{divId}"></div>');

tpl.apply({

});
Run Code Online (Sandbox Code Playgroud)

html javascript jquery

20
推荐指数
2
解决办法
9万
查看次数

jQuery.ready()等效的元素事件监听器?

我正在使用jQuery JavaScript库.我喜欢的事件监听器准备好$(document)时DOM设置将触发.

(非常类似于.onload但没有外部源)

我会发现它非常有用,如果有一个事件监听器与此行为非常相似,但在元素完全加载时触发.(fe:图片,文字内容极长的Div,如此)

我很欣赏jQuery或JavaScript方法.

javascript jquery dom onload document-ready

19
推荐指数
1
解决办法
2万
查看次数