相关疑难解决方法(0)

如何用JavaScript获取整个文档的高度?

有些文件我无法获得文件的高度(绝对位于最底层).此外,填充底部似乎在这些页面上什么也不做,但在高度将返回的页面上执行.案例:

http://fandango.com
http://paperbackswap.com

在Fandango上
jQuery的$(document).height();返回正确值
document.height返回0
document.body.scrollHeight返回0

On Paperback Swap:
jQuery的$(document).height();TypeError:$(document)为null
document.height返回不正确的值
document.body.scrollHeight返回不正确的值

注意:如果有一些技巧,我有浏览器级权限.

javascript

309
推荐指数
7
解决办法
42万
查看次数

检测DOM中的更改

我想在将一些div或输入添加到html时执行一个函数.这可能吗?

例如,添加文本输入,然后应该调用该函数.

javascript dom mutation-observers mutation-events

216
推荐指数
8
解决办法
22万
查看次数

永远不会调用WKWebView内容加载函数

我尝试在WKWebView中的内容完全加载后调用一个函数.我在Apple Swift WKNavigation文档中找到了"didFinishNavigation"功能.

func webView(webView: WKWebView!, didFinishNavigation navigation: WKNavigation!) {
    println("WebView content loaded.")
}
Run Code Online (Sandbox Code Playgroud)

但是函数永远不会被调用.

import UIKit
import WebKit

class ViewController: UIViewController WKNavigationDelegate {

   override func loadView() {
       super.loadView()

       self.webView = WKWebView(frame:self.containerView.frame, configuration: WKWebViewConfiguration())
       self.containerView.addSubview(webView!)
       self.containerView.clipsToBounds = true

   }

   override func viewDidLoad() {
       super.viewDidLoad()

       var url = NSURL(string:"http://google.com/")
       var req = NSURLRequest(URL:url)
       self.webView!.loadRequest(req)
   }

   func webView(webView: WKWebView!, didFinishNavigation navigation: WKNavigation!) {
       println("WebView content loaded.")
   }

}
Run Code Online (Sandbox Code Playgroud)

ios swift ios8 wkwebview

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

如何知道何时应用了font-face

我目前正在为广泛使用自定义字体的客户构建公司网站.

在jQuerys DOM-ready上我正在进行位置计算,以确定应根据动态内容放置一些具有动态宽度和高度的弹出菜单.

这些计算失败,因为在应用font-face之前触发了DOM-ready,因此宽度和高度不正确.

现在(对于原型)我在DOM准备好500ms后进行计算以缓解这个问题,但由于显而易见的原因,这不能投入生产.

在最新的Firefox和Chrome中已经出现了这个问题.IE 8似乎没有问题,但是随后DOM-ready起火相当晚,所以延迟是内置的我猜:)

等待加载事件不是一个选项,所以我的问题是:

是否有可靠的跨浏览器方式来检测何时应用了font-face?

javascript jquery font-face domready

31
推荐指数
2
解决办法
7130
查看次数

UIWebView动态内容大小

我一直在环顾四周,并没有看到任何快速相关的方法来做到这一点.我试图让我的UIWebViews高度变得动态.我有一个UIWebView使用loadHtmlString函数加载数据.事实是我从sqlite数据库加载数据,每次我加载不同长度的不同字符串,自然Web视图获得不同的高度.
现在我需要知道如何使UIWebView具有精确的高度,以便在webView下加载我的下一个内容.这就是我到目前为止所拥有的

var jobSkillView = UIWebView(frame: CGRectMake(-5, 480.0, screenWidth, 300.0))
jobSkillView.loadHTMLString("<html><body p style='font-family:arial;font-size:16px;'>" + jobSkills + "</body></html>", baseURL: nil)
jobSkillView.stringByEvaluatingJavaScriptFromString("document.body.innerHTML")
jobSkillView.scrollView.scrollEnabled = true
jobSkillView.scrollView.bounces = true
jobSkillView.sizeToFit()
border.addSubview(jobSkillView)
Run Code Online (Sandbox Code Playgroud)

我在SO上找到了这样的东西,但不知道如何将它链接到UIWebView框架:

func webViewDidFinishLoad(jobSkillView : UIWebView){
    // Change the height dynamically of the UIWebView to match the html content
    var jobSkillViewFrame: CGRect = jobSkillView.frame
    jobSkillViewFrame.size.height = 1
    jobSkillView.frame = jobSkillViewFrame
    var fittingSize: CGSize = (jobSkillView.sizeThatFits(CGSizeZero))
    jobSkillViewFrame.size = fittingSize
    // webViewFrame.size.width = 276; Making sure that the webView doesn't get wider than …
Run Code Online (Sandbox Code Playgroud)

uiwebview swift

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

使用"自动布局"将UIWebView设置为其内容的高度

我在滚动视图中嵌入了一个Web视图,我希望"扩展"Web视图以显示其所有内容,然后我想用滚动视图滚动浏览.

我使用滚动视图作为超级视图而不仅仅使用Web视图作为滚动视图的原因是因为我在Web视图上方有我想要包含在滚动过程中的标签(参见屏幕截图).

那么如何让webview自行调整大小,以便占用显示其包含的内容所需的所有空间?

之后,如何根据webview的大小调整superview(Scroll视图)的大小?

1

2

uiwebview ios autolayout swift

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

如何计算WKWebView的内容高度?

对于UIWebView,我们可以通过以下方式获得内容高度:

[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight"]
Run Code Online (Sandbox Code Playgroud)

但是WKWebView没有这个方法,webView.scrollView.contentSize.height不对.

(void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation
    {
    }
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助!

wkwebview

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

WKWebView:无法更改字体大小

问题:

我正在尝试调整正在显示的文本/内容的大小WKWebView.内容本身是从远程源(通过loadHTMLString)加载的,所以我无法更改css.

我已经尝试了大多数其他我可以在堆栈溢出上找到的解决方案(例如/sf/answers/3058643171/),但似乎都没有.

一些背景:

Xcode 9.2,Swift 4,iOS 10/11.

为了监控内容大小,我使用了以下代码:https://stackoverflow.com/a/41511422/1673377

lazy var webView: WKWebView = {
    //Javascript string
    let source = "window.onload=function () {window.webkit.messageHandlers.sizeNotification.postMessage({justLoaded:true,height: document.body.scrollHeight});};"
    let source2 = "document.body.addEventListener( 'resize', incrementCounter); function incrementCounter() {window.webkit.messageHandlers.sizeNotification.postMessage({height: document.body.scrollHeight});};"

    //UserScript object
    let script = WKUserScript(source: source, injectionTime: .atDocumentEnd, forMainFrameOnly: true)

    let script2 = WKUserScript(source: source2, injectionTime: .atDocumentEnd, forMainFrameOnly: true)

    //Content Controller object
    let controller = WKUserContentController()

    //Add script to controller
    controller.addUserScript(script)
    controller.addUserScript(script2) …
Run Code Online (Sandbox Code Playgroud)

ios swift wkwebview

3
推荐指数
1
解决办法
5085
查看次数

如何在 SwiftUI 中渲染 HTML 字符串?

我需要在我的 swiftui 应用程序中渲染 html 字符串。

我发现这个: How to show HTML or Markdown in a SwiftUI Text?

但我尝试了那里的每一个解决方案,但我得到的是空白屏幕!

这是我的代码:

import SwiftUI
import WebKit


struct HTMLStringView: UIViewRepresentable {
    let htmlContent: String

    func makeUIView(context: Context) -> WKWebView {
        return WKWebView()
    }

    func updateUIView(_ uiView: WKWebView, context: Context) {
        uiView.loadHTMLString(htmlContent, baseURL: nil)
    }
}


struct audioInfoView: View {
    
    let longDetails: String

    
    var body : some View{
        
        ScrollView{
            
            ZStack{
                
                HTMLStringView(htmlContent: "<p>\(longDetails)</p>")
                
                //Text(longDetails)
             
                
            }.padding()
        }.padding(.top,50)
        
    }
}
Run Code Online (Sandbox Code Playgroud)

let longDetails: String是一个带有 html 标签的字符串,它是从另一个视图传递的。

如果我这样做Text(longDetails) …

swift swiftui

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