相关疑难解决方法(0)

如何识别网页是在iframe中加载还是直接加载到浏览器窗口?

我正在写一个基于iframe的Facebook应用程序.现在我想使用相同的html页面来呈现普通网站以及facebook中的画布页面.我想知道我是否可以确定页面是在iframe中加载还是直接在浏览器中加载?

javascript iframe facebook

554
推荐指数
7
解决办法
30万
查看次数

如何检测浏览器的版本?

我一直在寻找可以让我检测访问该网站的用户是否拥有Firefox 3或4的代码.我发现所有代码都是检测浏览器类型而不是版本.

如何检测这样的浏览器版本?

javascript browser version browser-detection

274
推荐指数
13
解决办法
35万
查看次数

使用jQuery检测Safari

虽然两者都是基于Webkit的浏览器,但是在URL中的Safari urlencodes引号却没有.

因此我需要在JS中区分这两者.

jQuery的浏览器检测文档将"safari"标记为已弃用.

有没有更好的方法,或者我现在只是坚持使用已弃用的值?

javascript jquery browser-detection

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

scrollIntoView仅适用于IFRAME

我有一个带有scollbars的页面内的元素,通过JS调用将其带入页面加载视图element.scrollIntoView()- 这可以正常工作,如预期的那样.

现在,如果我将此页面放入IFRAME,调用element.scrollIntoView()不仅会将iframe中的元素带到iframe的顶部 - 如果父页面具有自己的滚动条 - 它也会滚动父页面以引入有问题的元素也是父页面的顶部.

我理解这可能是设计行为,但是有没有办法只将"scrollIntoView"行为包含在IFRAME中,或者是否有任何替代方法可以有这种行为(不影响父页面).

javascript iframe scroll

11
推荐指数
2
解决办法
3757
查看次数

移动Safari,scrollIntoView不起作用

我在iframe的移动Safari上滚动到元素时遇到问题(它可在其他浏览器上使用,包括在Mac上的Safari)。

我使用scrollIntoView。当所有contnet都呈现后,我想滚动。这是我的代码:

var readyStateCheckInterval = setInterval(function () {
    if (document.readyState === "complete") {
       clearInterval(readyStateCheckInterval);
        $browser.notifyWhenNoOutstandingRequests(function () {
            if (cinemaName != null && eventId == null) {
                scrollToCinema();
            } else {
                scrollToEvent();
            }
        });
     }
}, 10);


function scrollToEvent() {
    var id = eventId;
    var delay = 100;

    if (cinemaName != null) {
        id = cinemaName + "#" + eventId;
    }

    if ($rootScope.eventId != null) {
        id = $rootScope.cinemaId + "#" + $rootScope.eventId;
    }

    $timeout(function () {
        var el = document.getElementById(id); …
Run Code Online (Sandbox Code Playgroud)

javascript safari iframe mobile-safari ios

5
推荐指数
2
解决办法
6121
查看次数