标签: loading

Javascript + HTML - 在后台加载图像(异步?)

我发现了许多描述 javascript 图像加载的主题,但并不完全是我要搜索的主题。

我目前正在以正常方式加载 html 中的图像,例如

<img src="images/big-image.jpg">
Run Code Online (Sandbox Code Playgroud)

这会导致网页上的空白空间从上到下填充了加载图像。此外,我总是要注意图像的文件大小。

什么我要实现的是,在页面加载时,每幅图像(约10KB)的缩小的版本显示。当页面完全加载时,应该有一个 javascript 函数在后台加载大图像并在加载时替换它们。

我已经找到了一种使用 javascript 执行此操作的方法,但是在替换所有图像之前,浏览器会显示他处于“加载”状态。是否可以使用异步方法在后台执行加载任务?

<img src="small.jpg" id="image">

<script>
        <!--
            var img = new Image(); 
            img.onload = function() { 
               change_image(); 
            } 
            img.src = "small.jpg";  

            function change_image() {
                document.getElementById("image").src = "big.jpg";
            }
        //-->
</script>
Run Code Online (Sandbox Code Playgroud)

html javascript asynchronous image loading

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

在不重新启动 R 的情况下卸载和删除已加载的包

实际问题

我可以卸载和删除包而不必重新启动已经需要/加载包的 R 进程吗?

我看过这个问题/答案,但它只处理部分问题(卸载)


背景

我想这样做的原因是我正在开发一个基于项目的包开发框架,其中我还使用基于项目的包库以保持标准库“干净”并允许对包进行系统测试依赖关系。

唯一的问题是,用户在初始化项目之前很难记住基于项目的包库的路径(它还通过加载所有指定的包依赖项require()并使基于项目的库成为第一个.libPaths())

实际上,这意味着用户目前无法以一种舒适的方式(即在初始化项目之后)从基于项目的包库中真正卸载包依赖项,我正在寻找改变这一点的方法。

我试过的

install.packages("forecast")
require("forecast")

detach("package:forecast", unload=TRUE)
remove.packages("forecast")

> install.packages("forecast")
Warning: unable to access index for repository http://www.stats.ox.ac.uk/pub/RWin/bin/windows/contrib/2.15
trying URL 'http://cran.rstudio.com/bin/windows/contrib/2.15/forecast_4.03.zip'
Content type 'application/zip' length 1124001 bytes (1.1 Mb)
opened URL
downloaded 1.1 Mb

package 'forecast' successfully unpacked and MD5 sums checked
Warning: cannot remove prior installation of package 'forecast'

The downloaded binary packages are …
Run Code Online (Sandbox Code Playgroud)

dll r loading uninstallation

5
推荐指数
0
解决办法
4502
查看次数

缩放和加载非常大的 TIFF 文件

我有一个非常大的高分辨率地图,我想在应用程序中使用它(图像大小约为 80 mb)。

我想知道以下内容:

  • 如何以最佳方式加载此图像?我知道加载图像需要几秒钟(没关系)但我想通知用户进度。我想使用确定的模式并以某种方式JProgressBar向用户显示。这应该反映已加载的字节数或类似的内容。是否有任何图像加载方法可以提供此功能(如ImageIO.read())?
  • 由于地图具有非常高的分辨率,我想为用户提供滚动放大和缩小功能。我怎样才能以最好的方式做到这一点?我知道一个事实,BufferedImage对于这么大的文件,重新缩放标准方式需要很长时间。有没有什么有效的方法可以做到这一点?

谢谢您的意见!

亲切的问候,
埃克托·范登布恩

ps 图像将绘制在 JPanel 的画布上。


嗨,安德鲁,非常感谢您的帮助;一切都很完美,加载速度很快。如果没有您的专业知识和解释,我会一直致力于此,因此您赢得了公平公正的赏金。

我所做的是以下内容;使用 imagemagick 我创建了多个不同分辨率的图像,并且在执行开始时我只加载最小的 res。图片。其余的加载在单独的线程中,因此执行不会停止。使用您提供给我的信息,我然后在放大或缩小时使用适当的图像。我对使用瓷砖有点怀疑,因为我需要在地图上绘制自己的图像,而我在您告诉我使用的外部罐子中找不到油漆功能,所以我最终使用了一些简单的东西;当缩放或平移时,重新缩放模式设置为快速,当您不缩放或平移时,重新缩放设置为平滑以获得像素完美的图像(就像您建议的那样),但事实证明这足够快,我不”

所以再次感谢,一切正常:)

java image loading large-files rescale

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

密钥库未从 jar 中加载 JKS 文件

经过几个小时的斗争后,我开始感到非常沮丧。

我有一个 JKS 服务器文件,我想从 jar 中加载它。只要文件在 Jar 之外,使用 FileInputStream 就可以了,但是一旦我尝试将其更改为 getResourceAsStream,它就不会接受它,并说(没有这样的文件或目录)。

这就是项目的分发方式

ProjectFolder
-src
--package.name
---JKS File
---Class calling the resource retrieval and loading into the keystore
Run Code Online (Sandbox Code Playgroud)

我想我已经尝试了几乎所有我能想到的 this.getClass().getClassLoader().getResourceAsStream("jksFile.jks") 组合。

我提前为没有更具体地说明代码而道歉,但我实际上已经忘记了我尝试过什么和没有尝试过什么。

帮助!

提前致谢

java loading classloader

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

在 AngularJS 中服务器处理时禁用按钮

在服务器上处理“长”请求时,我在禁用按钮时遇到问题。

我们的应用程序运行在 Java Spring/Tomcat 后端,前端使用 AngularJS。我们的用户可以点击“导出”按钮来获取一些统计数据的 CSV 文件。问题是这个文件是通过调用这样的 URL 在服务器端生成的:

<a ng-href="/exports?id={{the_id}}>Export</a>
Run Code Online (Sandbox Code Playgroud)

并且响应类型是:application/octet-stream。

请求工作正常,但可能有点慢。我想在文件生成时禁用该按钮,并在“保存文件”窗口出现后启用它。但是我无法通过简单的“同步”href 拦截这些事件。

我尝试异步处理请求,$http.get()但这一次,我不知道如何在处理完成后以相同的方式向用户提供文件(例如,Mega 为已经使用过它的人提供的方式)。

提前致谢 !

PS:我知道,使处理速度更快是另一种解决方案......但现在不可能,而不是重点:)

编辑:问题得到了解决,感谢 Ed 的回答,并进行了一些修改(我不知道这样做是否是“好”的方法,但实际上它完全按照我想要的方式对我有用)。

$scope.processExport = function(campaignId) {
    if (!$scope.exportProcessing) {
        $scope.exportProcessing = true;
        $http.get('my_generating_url').success(function(response) {
            $scope.exportProcessing = false;
            $window.location.href = 'url_to_retrieve_the_file_with_' + response.fileName;
        }).error(function() {
            $scope.exportProcessing = false;
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

以及相应的 HTML:

<button ng-click="processExport(the_id)" ng-disabled="exportProcessing">Export</button>
Run Code Online (Sandbox Code Playgroud)

并且my_generating_url只是在成功生成后返回文件名。

loading server-side disabled-control angularjs

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

Node.js 重启时加载时间为 10-20 秒

我正在使用nodemon 和express js 运行node.js。每当我进行一些随机更改时,重新启动后都需要永远加载页面(然后在 20-30 秒后正常加载)。这个问题令人沮丧,因为每次更改我都需要等待 20-30 秒。显然,我想更快地想象我所做的事情。

这个问题是随机的,因为如果我在 chrome 中加载一个页面并在 firefox 中加载同一页面,那么 chrome 的加载时间会很慢。就像“第一个连接到服务器的人加载时间很慢”。这不是特定的浏览器问题,因为我已经测试过同时从两个不同的设备加载页面,并且相同的问题出现在第一个加载页面的设备上。

我知道问题不在于node.js本身,因为命令行打印出了结果。当我通过浏览器可视化随机结果时,就会出现问题。

我在 Windows 8.1 上运行我的 Node js

//雅各布

loading startup node.js express nodemon

5
推荐指数
0
解决办法
1008
查看次数

OpenGL 加载将最后加载的纹理绑定到所有的纹理 ID

所以我的问题是我尝试在启动时加载多个纹理,然后存储所有 ID,以便我可以绑定它们以使用它们。现在我知道 ID 被正确存储,因为我可以调试它并在分配和使用中看到 ID 是相同的。只是对于每个绑定,它使用我加载的最后一个纹理。这是我的代码:

GLuint TextureLoader::LoadTexture (const char* fileName,Material& material,int width,int height) {
    GLuint textureImage;

    FILE* textureFile;
    textureFile = fopen(fileName, "rb");
    unsigned char* imageData;

    if (textureFile == NULL) {
        return 0;
    }
    imageData = (unsigned char*)malloc(width * height * 3);
    char header[54];
    fread(header,1,54,textureFile);
    fread(imageData, width * height * 3, 1, textureFile);

    fclose(textureFile);

    for (int i = 0; i < width * height; ++i) {
        int nextIndex = i * 3;
        unsigned char a = imageData[nextIndex];
        unsigned char b …
Run Code Online (Sandbox Code Playgroud)

c++ opengl loading texture-mapping texture2d

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

检查元素是否已加载

我有一个站点和该站点中的 iFrame,以及许多其他内容(图像等)。

现在我使用 jQuery$(document).ready(function() { ... });来执行代码。在该代码中,我试图操作 iFrame 中的内容。但是,我必须确保加载 iFrame 才能执行代码。

iFrame 通常在代码执行的同时加载,所以它有时会失败,有时不会。

如果我使用$('#iframe').load(function(){ });,该事件并不总是执行,因为在那一刻我附加了加载侦听器,iFrame 可能已经完成加载,并且加载事件不会再次执行。如果我把它放在一边,元素有时还不存在(代码执行得太早)。

所以我想要实现的是这样的:

if iFrame is already loaded
  -- execute code 
else 
  -- $('#iframe').load(function() { /*execute code*/ });
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法可以在不使用脏超时的情况下实现这一目标?或者如果使用这种方法,是否有一个函数可以检查元素是否已经加载?

jquery events dom loading

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

在多个 UIViews 上添加 Facebook Shimmer

我正在尝试在具有多个 UIViews 的 UICollectionViewCell 上添加 Facebook Shimmer。

对于一个 UIView,使用以下代码可以正常工作:

let shimmeringView = FBShimmeringView(frame: imageView.frame)
shimmeringView.contentView = imageView
backgroundView.addSubview(shimmeringView)
shimmeringView.isShimmering = true
Run Code Online (Sandbox Code Playgroud)

backgroundView我拥有所有子视图的视图在哪里,例如imageView,labelView和其他。

当我尝试添加多个视图时,第一个视图获得正确的框架,但其他视图的宽度变为零。我在里面添加了这段代码collectionView(_:cellForItemAt:)。

let shimmeringView = FBShimmeringView(frame: imageView.frame)
shimmeringView.contentView = imageView
backgroundView.addSubview(shimmeringView)
shimmeringView.isShimmering = true

let shimmeringView = FBShimmeringView(frame: labelView.frame)
shimmeringView.contentView = labelView
backgroundView.addSubview(shimmeringView)
shimmeringView.isShimmering = true
Run Code Online (Sandbox Code Playgroud)

谁能告诉我这是否是为多个UIViews实施 Facebook Shimmer的正确方法,或者我在哪里做错了?

loading ios uicollectionviewcell swift

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

加载内容时的角度加载动画

我有一个角度页面,可以在本地驱动器上加载一些内容。所以它在没有网络服务器的情况下运行。有时它的加载安静很长时间(10 秒)。

我试图实现一个jquery加载动画,但即使是从JS加载正常内容后,jquery加载动画也开始了。

这是页面在加载我的角度内容时的外观:

未加载内容

如何实现加载微调器或文本,而不是显示原始 {{example.example}} 值?

谢谢。

javascript jquery loading angular

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