我发现了许多描述 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) 我可以卸载和删除包而不必重新启动已经需要/加载包的 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) 我有一个非常大的高分辨率地图,我想在应用程序中使用它(图像大小约为 80 mb)。
我想知道以下内容:
JProgressBar向用户显示。这应该反映已加载的字节数或类似的内容。是否有任何图像加载方法可以提供此功能(如ImageIO.read())?BufferedImage对于这么大的文件,重新缩放标准方式需要很长时间。有没有什么有效的方法可以做到这一点?谢谢您的意见!
亲切的问候,
埃克托·范登布恩
ps 图像将绘制在 JPanel 的画布上。
嗨,安德鲁,非常感谢您的帮助;一切都很完美,加载速度很快。如果没有您的专业知识和解释,我会一直致力于此,因此您赢得了公平公正的赏金。
我所做的是以下内容;使用 imagemagick 我创建了多个不同分辨率的图像,并且在执行开始时我只加载最小的 res。图片。其余的加载在单独的线程中,因此执行不会停止。使用您提供给我的信息,我然后在放大或缩小时使用适当的图像。我对使用瓷砖有点怀疑,因为我需要在地图上绘制自己的图像,而我在您告诉我使用的外部罐子中找不到油漆功能,所以我最终使用了一些简单的东西;当缩放或平移时,重新缩放模式设置为快速,当您不缩放或平移时,重新缩放设置为平滑以获得像素完美的图像(就像您建议的那样),但事实证明这足够快,我不”
所以再次感谢,一切正常:)
经过几个小时的斗争后,我开始感到非常沮丧。
我有一个 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 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只是在成功生成后返回文件名。
我正在使用nodemon 和express js 运行node.js。每当我进行一些随机更改时,重新启动后都需要永远加载页面(然后在 20-30 秒后正常加载)。这个问题令人沮丧,因为每次更改我都需要等待 20-30 秒。显然,我想更快地想象我所做的事情。
这个问题是随机的,因为如果我在 chrome 中加载一个页面并在 firefox 中加载同一页面,那么 chrome 的加载时间会很慢。就像“第一个连接到服务器的人加载时间很慢”。这不是特定的浏览器问题,因为我已经测试过同时从两个不同的设备加载页面,并且相同的问题出现在第一个加载页面的设备上。
我知道问题不在于node.js本身,因为命令行打印出了结果。当我通过浏览器可视化随机结果时,就会出现问题。
我在 Windows 8.1 上运行我的 Node js
//雅各布
所以我的问题是我尝试在启动时加载多个纹理,然后存储所有 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) 我有一个站点和该站点中的 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)
有没有更好的方法可以在不使用脏超时的情况下实现这一目标?或者如果使用这种方法,是否有一个函数可以检查元素是否已经加载?
我正在尝试在具有多个 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的正确方法,或者我在哪里做错了?
我有一个角度页面,可以在本地驱动器上加载一些内容。所以它在没有网络服务器的情况下运行。有时它的加载安静很长时间(10 秒)。
我试图实现一个jquery加载动画,但即使是从JS加载正常内容后,jquery加载动画也开始了。
这是页面在加载我的角度内容时的外观:
如何实现加载微调器或文本,而不是显示原始 {{example.example}} 值?
谢谢。