小编JAA*_*lde的帖子

如何在JavaScript中缓存非连续移位范围的数据?

编辑:为简单起见,为了尝试使这个问题和示例代码更通用,我遗漏了一个细节.根据其中一个反应(非常好)的细节证明是重要的.该系统主要用于显示日期范围内的事物.代码中的低/高数字通常表示Unix时间戳,其范围可能跨越数周或数月.结束编辑

我有一个页面,其中提供了具有属于特定范围的属性的数据对象的视图.当用户与视图交互以更改它时,它通常是对范围的顺序更改(0-9,10-19 ...).我正在从服务器检索这些数据,当它进入时,我将其缓存,以便随后对该范围内的数据的请求已经可用.在每次读取数据时,我首先检查是否有缓存数据,如果不是,我从服务器读取它并调整缓存.

这里有一个粗略的,过于简化的例子:

var cache, haveCache, read;

cache = {
    rangeLow: 0,
    rangeHigh: 10,
    data: [
        //whatever has been read so far between current low and high
        {
            low: 1,
            high: 3,
            // ...other props
        },
        {
            low: 5,
            high: 6,
            // ...other props
        },
        //...
    ]
};

haveCache = function( low, high )
{
    return ! ( low < cache.rangeLow || high > cache.rangeHigh );
};

read = function( low, high )
{
    var data;

    if( …
Run Code Online (Sandbox Code Playgroud)

javascript algorithm caching

6
推荐指数
1
解决办法
1129
查看次数

setcookie() 期望参数 3 是整数,给定数组

我收到此 PHP 错误:

PHP 警告:setcookie() 期望参数 3 为整数,给定数组

使用此代码:

$setResult = setcookie(
    'visitorId',
    "{$newIdForNewVisitor}",
    [
        'httponly' => true,
        'expires' => time() + (50 * 365 * 24 * 60 * 60)
    ]
);
Run Code Online (Sandbox Code Playgroud)

但上的第二示例setcookie文档,我看到,参数3的选项参数可以关联数组:

一个关联数组,其中可能包含任何密钥 expires、path、domain、secure、httponly 和 samesite。这些值的含义与对同名参数描述的含义相同。samesite 元素的值应该是 Lax 或 Strict。如果没有给出任何允许的选项,它们的默认值与显式参数的默认值相同。如果省略 samesite 元素,则不会设置 SameSite cookie 属性。

这里犯了什么错误?

php cookies

6
推荐指数
1
解决办法
3869
查看次数

PHP标头不重定向

我的标题不会重定向.代码执行后,它只是空白,不执行重定向.文件中没有空格.除了重定向之外,代码完全正确.

此代码由表单提交调用.

if(!empty($_POST['addSubscriber'])){
  $name = $_POST['name'];
  $email = $_POST['email'];
  if(!empty($name) && !empty($email) && eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email) != FALSE){
    $conn = connect();
    $sql = "SELECT id FROM subscribers WHERE email=?";
    if($stmt = $conn->prepare($sql)){
      $stmt->bind_param("s", $email);
      $stmt->execute();
      if($stmt->fetch()){
        header("Location: http://bcp350.org.uk/index.php?message=1");
      } else {
        $password = md5(uniqid());
        $sql2 = "INSERT INTO subscribers(name, email, password) VALUES(?, ?, '$password')";
        if($stmt2 = $conn->prepare($sql2)){
          $stmt2->bind_param("ss", $name, $email);
          $stmt2->execute();
          if($stmt2->affected_rows == 1)
            header("Location: http://bcp350.org.uk/index.php?message=1");
        }
      }
    }
  } else {
    header("Location: urlnotallowedbecauseofstackoverflowlimit");
  }
}
Run Code Online (Sandbox Code Playgroud)

php header

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

Document.write方法问题

我正在尝试使用write方法和onload事件.这是我的代码:

<!DOCTYPE html>
<html>
    <head>
    </head>
    <body onload="document.write('body loaded!')">
        <h1>Hello World!</h1>
        <img onload="document.write('img loadeld!')" src="smiley.gif" alt="Smiley face" width="42" height="42" />
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

如果我在浏览器中运行它输出"img loadeld"并且只是"挂起",似乎无限加载页面.我期望浏览器输出"img loadeld"然后当body元素准备好"正文加载"并且正常停止.

我的问题:

  1. 为什么会这么挂?为什么img元素上的onload事件阻止浏览器继续并呈现"正文加载"?
  2. 为什么如果我从img元素中删除onload处理程序,响应是按预期的 - "正文加载"并且页面未被阻止.

html javascript

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

如何使用Flowplayer从子目录流式传输MP4文件?

我正在使用Wowza Media Server来启用MP4文件的流媒体,而我使用Flowplayer作为视频播放器.

为了获得我的内容的一些结构,我在StorageDir我的Wowza应用程序的配置中使用子目录.

我遇到的问题是,无论我使用什么URL格式,Wowza都会继续在根存储目录中查找该文件.

我已经使用Wowza指定的URL格式试图在这里,但没有运气:

rtmp://[wowza-ip-address]/myapp/_definst_/mp4:mysubdirectory/sample.mp4
Run Code Online (Sandbox Code Playgroud)

我还尝试了Wowza论坛帖子中建议的所有内容:

但是Wowza一直在寻找根存储目录,抛出这样的异常:

404 b0c9be70-a33c-41ce-9692-199e3a1caccf.mp4 
   open: java.io.FileNotFoundException: 
   C:\Program Files (x86)\Wowza Media Systems\Wowza Media Server 3.6.2\content\b0c9be70-a33c-41ce-9692-199e3a1caccf.mp4.flv 
   (The system cannot find the file specified)
Run Code Online (Sandbox Code Playgroud)

不知何故,Wowza认为它应该在根存储目录中查找FLV文件,即使URL指定它是子目录中的MP4文件.这是为什么?

flowplayer wowza

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

javascript中每个和过滤器之间的区别?

我想知道javascript中哪些功能Array.prototype.everyArray.prototype.filter快速功能?我知道的区别是每个都可以通过返回false来停止,过滤器不能通过返回false来停止.除了这个差异还有其他吗?如果其中哪一个有索引?

javascript performance

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

如何在JavaScript中获得百万分之一秒?"FFFFFFF"

我需要这样的日期格式: yyyy-MM-dd_HH.mm.ss.fffffff

我试过这个:

var currentdate = new Date();
var fileName = currentdate.getFullYear() + '-'
   + currentdate.getMonth() + '-'
   + currentdate.getDate() + '_'
   + currentdate.getHours() + '.'
   + currentdate.getMinutes() + '.'
   + currentdate.getSeconds() + '.'
   + currentdate.getMilliseconds();
Run Code Online (Sandbox Code Playgroud)

输出是这样的: 2014-3-2_23.0.29.840

我怎样才能获得百万分之一秒的时间,以便我的输出会像下面这样?

2014-3-2_23.0.29.8401111

由于某些原因,我不能使用诸如moment.js之类的库.

谢谢.

javascript

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

Javascript SCORM API提交 - 异步还是同步?

我们目前正面临实施SCORM LMS系统的设计问题.例如,API定义了一个函数LMSCommit,它必须返回'true'或'false'.在该方法中,我们的LMS必须使用包含其参数中的成功或失败消息的回调函数对服务器端服务进行异步调用.我们声称,这根本不可能!然而,我们认为值得向一些专业人士询问我们是否遗漏了一些东西.

SCO(对我们没有影响)调用这样的方法:

var result = LMSCommit('');
Run Code Online (Sandbox Code Playgroud)

我们的LMS(对我们的影响)我们实现这样的事情:

function LMSCommit(useless) {
  callOurServiceFunction(function(Status) {
    // what am I supposed to do here in order to put status into
    // the return value of the outer function???
  }

  // fake true as the callourServiceFunction returned immediatly,
  // no idea how I can use Status to create a return value
  return 'true';
}
Run Code Online (Sandbox Code Playgroud)

我们在这里错过了一些花哨的技巧,还是SCORM标准只是"有争议"?

javascript scorm

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

Javascript/JQuery - 如何在完成前一个函数时调用一个函数

我正在使用以下Javascript函数来显示图片库.

function disp_pics(currObj,table){
    if(currObj != "none"){
        $("div .checkout2").removeClass("checkout2").addClass("checkout");
        $(currObj).closest("div").removeClass("checkout").addClass("checkout2");
    }

    function getData(table){
        return $.ajax({
            url: "newphoto_gallery_display.php",
            type: "GET",
            data: {
                table: table
            },
            dataType: "html"
        });
    }

    function display_result(data){
        var dfd = new $.Deferred();
        dfd.done(equalise);
        $("#ajaxoutput").html(data);
        setTimeout(function() {
            dfd.resolve();
        }, 1000);
    }

    function equalise(){
        var highestBox = 0;
        $('.photodisplay').each(function(){
            if($(this).height() > highestBox)  {
                highestBox = $(this).height(); 
            }
        });  
        $('.photodisplay').height(highestBox);
    }

    var promise=getData(table);
    promise.success(function (data) {
        promise.done(display_result(data));
    });
};
Run Code Online (Sandbox Code Playgroud)

函数getData从数据库中获取图片数据.函数display_result然后将该数据输出到div id"ajaxoutput".图片与相关数据一起显示在框中(带边框的HTML表格).然后调用函数equalize以使所有框具有相等的高度.

如果没有display_result中的时间延迟,则在显示所有图片和数据之前调用均衡功能,从而弄乱显示器.有没有办法消除时间延迟,只有当display_result已经完成将所有数据输出到ajaxoutput div时才调用均衡函数?

我已经尝试了各种各样的Deferred和$ .when .......然后......组合,但是没有设法在不延迟脚本的情况下达到预期的结果,这是不理想的.欢迎大家提出意见.

javascript jquery deferred

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

对象键中的@符号

我不知道发布这个问题的适当位置,但我正在阅读Marionette文档,并在描述时看到以下代码

Marionette.Behaviors:

var MyView = Marionette.ItemView.extend({
    ui: {
        "destroy": ".destroy-btn"
    },

    events: {
        "click @ui.destroy": "warnBeforeDestroy"
    }
Run Code Online (Sandbox Code Playgroud)

我之前从未见过@对象键中的符号.这@意味着什么,或者它只是字符串的一部分,没有什么特别之处?

javascript backbone.js marionette

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