我已经整理了一个非常类似于flickr photostream功能的脚本.两个缩略图彼此相邻,当您单击下一个或上一个链接时,下一个(或上一个)两个图像会滑入.酷!
目前,当页面加载时,它会加载两个图像.第一次使用nxt/prv然后通过ajax加载接下来的两个图像或前两个图像,第一个图像的id在url中传递,两个新图像的HTML返回并通过ajax显示.
很简单,但它让我思考,在一个缓慢的连接,或沉重的服务器加载然后两个图像,虽然相对较小的缩略图仍然需要一段时间来加载,而滑动窗格的好东西是隐藏数据的事实在没有加载延迟的情况下快速平滑地滑动.
所以我从表现和良好实践的角度来看,哪种选择最好,这是我现在能想到的,对建议持开放态度.
1,通过JSON调用每组图像(它应该是快速的?)
2,将所有可能的图像加载到json文件中并以这种方式提取细节 - 尽管浏览器仍然需要加载图像.有时可能会有4张图片,有时可能会有1000张图片!
3,通过php将10张图像加载到Json或其他文件中,并将所有10张图像加载到浏览器中,隐藏8张未显示的图像,并始终显示中间的两张图像.这里的问题是,每次有人点击时,文件都必须重新加载第一张和最后一张图片,这仍然需要时间,尽管我认为中间图像现在已经全部通过浏览器缓存了.但仍然有加载时间.
4,是否可以使用包含所有图像细节的json图像(无论数字如何)并使用上面的3来加载其中10个图像,是否可以使用ajax只读取10行并保留最后一个指针一个它读取,所以json文件可以快速加载,短刷新和图像任何一方通过浏览器缓存!
希望这清楚,有关如何处理这个的任何建议?
我正在使用一个相当简单的系统来动态加载javascript:
include = function (url) {
var e = document.createElement("script");
e.src = url;
e.type="text/javascript";
document.getElementsByTagName("head")[0].appendChild(e);
};
Run Code Online (Sandbox Code Playgroud)
假设我有一个test.js文件,其中包含以下内容:
var foo = 4;
Run Code Online (Sandbox Code Playgroud)
现在,在我原来的脚本中,我想使用
include(test.js);
console.log(foo);
Run Code Online (Sandbox Code Playgroud)
但是,我得到了一个'foo尚未定义'的错误.我猜它与包含在<head>标签的最后一个子节点的动态脚本有关.我怎样才能让它发挥作用?
我有一个2000px x 1500px的彩色背景图像,由于细节,我将其保存为1.1 MB的jpeg.我正在使用CSS background属性来渲染图像.因此,对于Web开发人员来说相对较新,并且与客户/设计人员合作,在此过程中此时无法对设计进行更改,我应该怎么做以帮助快速加载此图像.我不知道它是否有所作为,但该网站使用的是Joomla 1.5.9.这是我一直想要了解但却无法找到解决方案......我希望有人可以提供帮助!!
感谢大家!
当有人进入我的页面时,我想首先在页面上加载#portfolio和#headerdiv.
然后我想#slide在前两个加载完成后开始加载(以改进功能).
我怎么能用ajax/jquery做到这一点?
非常感谢提前!
我的ANDROID应用程序有问题.
我想在我的网页浏览中显示一个推特页面,但该网址无法打开.
它无限加载.
我正在使用sdk 1.6.
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setLoadsImagesAutomatically(true);
webView.setBackgroundColor(0x00000000);
webView.getSettings().setAllowFileAccess(true);
webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
final Activity activity = this;
webView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
activity.setProgress(progress * 100);
Log.e("progress",progress+" "+((progress * 100)));
if(progress==100)
{
//getWindow().setFeatureInt(Window.FEATURE_PROGRESS,Window.PROGRESS_VISIBILITY_OFF);
indicator.setVisibility(View.GONE);
}
else
{
indicator.setVisibility(View.VISIBLE);
}
}
});
webView.getSettings().setUseWideViewPort(true);
webView.setWebViewClient(new ApplicationWebViewClient());
}
private class ApplicationWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
view.loadUrl(url);
return super.shouldOverrideUrlLoading(view, url);
}
Run Code Online (Sandbox Code Playgroud) 我目前正在阅读有关推迟Javascript加载的文章:https : //developers.google.com/speed/docs/best-practices/payload#DeferLoadingJS
他们使用以下脚本:
<script type="text/javascript">
// Add a script element as a child of the body
function downloadJSAtOnload() {
var element = document.createElement("script");
element.src = "deferredfunctions.js";
document.body.appendChild(element);
}
// Check for browser support of event handling capability
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
Run Code Online (Sandbox Code Playgroud)
我目前有4个要“延迟”的独立Javascript文件。
我将如何使用Google的示例代码来实现这一目标?
非常感谢您的指导。
我需要加载GIF才能在iframe加载时显示.
这就是我想出的:
<div id="m-load" style="position:relative;top:45%;left:45%;">
<img src="images/loader.gif"/></div>
<iframe src="http://myserver.com/myfile.html" id="m-iframe"></iframe>
Run Code Online (Sandbox Code Playgroud)
在我输入的iframe源文件中:(myfile.html)
<head>
<script>
top.document.getElementById('m-load').style.display ="none";
</script>
</head>
Run Code Online (Sandbox Code Playgroud)
但这在Firefox中不起作用(权限被拒绝).
实现这一目标的任何其他方式?
我想这样做,进度对话框等待webview上的加载项.我怎么能做到哪个dialog.dismiss()事件取决于在webview上加载项目?
public class asynctask extends AsyncTask<Void, Void, Void> {
private ProgressDialog dialog = new ProgressDialog(WebActivity.this);
@Override
protected void onPostExecute(Void result) {
// TODO Auto-generated method stub
Run Code Online (Sandbox Code Playgroud)
在那里我该怎么办?
dialog.dismiss();
Run Code Online (Sandbox Code Playgroud)
对话消失,无需等待
}
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
dialog.setMessage("Loading..Please wait.");
dialog.show();
dialog.setCanceledOnTouchOutside(false);
}
@Override
protected Void doInBackground(Void... params) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webview);
webView = (WebView) findViewById(R.id.webView1);
Bundle extras = …Run Code Online (Sandbox Code Playgroud) 如果我有以下内容:
div {background: #000}
@media (min-width: 1000px) {
div {background: url(myimage.jpg)}
}
Run Code Online (Sandbox Code Playgroud)
例如,320px宽的智能手机是否仍会下载该背景图像?
谢谢!
我正在使用Mountain Lion.我打开终端,然后我加载ghci,我写:l,然后我尝试加载我的文件(在我的桌面)通过鼠标从我的桌面拖到终端,所以我知道位置是正确的,我得到这个,提前谢谢你:
Prelude> :l /Users/myusername/Desktop/Test.hs
[1 of 1] Compiling Main ( /Users/myusername/Desktop/Test.hs, interpreted )
/Users/myusername/Desktop/Test.hs:1:7: parse error on input `\'
Failed, modules loaded: none.
Prelude>
Run Code Online (Sandbox Code Playgroud)
编辑:我试图打开的文件(用文本编辑编写)是:
double :: Int -> Int
double x = x + x
Run Code Online (Sandbox Code Playgroud)