我目前正在开发一个Web应用程序,它有一个显示单个图表的页面(.png图像).在此页面的另一部分,有一组链接,当单击时,整个页面重新加载并看起来与之前完全相同,除了页面中间的图表.
我想要做的是当在页面上单击链接时,只更改页面上的图表.这将大大加快速度,因为页面大约100kb大,并且真的不想重新加载整个页面只是为了显示它.
我一直在通过JavaScript工作,到目前为止,使用以下代码
document.getElementById('chart').src = '/charts/10.png';
Run Code Online (Sandbox Code Playgroud)
问题是,当用户点击链接时,图表更改可能需要几秒钟.这使得用户认为他们的点击没有做任何事情,或者系统响应缓慢.
我想要发生的是显示一个微调/ throbber /状态指示器,代替图像在加载时的位置,所以当用户点击链接时他们知道至少系统已经接受了他们的输入并正在做一些关于它的事情.
我已经尝试了一些建议,即使使用psudo超时来显示微调器,然后再回到图像.
我有一个很好的建议是使用以下内容
<img src="/charts/10.png" lowsrc="/spinner.gif"/>
Run Code Online (Sandbox Code Playgroud)
哪个是理想的,除了微调器显着小于正在显示的图表.
还有其他想法吗?
基于下面的数据模型
并且基于用户输入,我创建了一个名为selectedTags的实体Tag的managedObjects的NSSet .
[NSPredicate predicateWithFormat:@"ANY entryTags IN %@", selectedTags];
Run Code Online (Sandbox Code Playgroud)
...这将返回任何条目,其中至少有一个entryTag集合中的entryTag.
我想要的东西是:
[NSPredicate predicateWithFormat:@"ALL entryTags IN %@", selectedTags];
Run Code Online (Sandbox Code Playgroud)
...注意唯一的变化是"任何"到"全部".这说明了我想要的,但不起作用.
为了制定我期望的结果:
我正在寻找一种解决方案,它只会返回条目标签,这些条目的条目都在selectedTags列表中(但同时,如果可能的话,不一定是相反的方式).
进一步说明:
(标签)妈妈
(标签)爸爸
(标签)礼物
(入门)她是她.....(标签)妈妈
(入职)他是他........(标签)爸爸
(入职)给妈妈的礼物......(标签:)妈妈,送给
父亲的礼物(入职).....(标签:)爸爸,礼物
如果selectedTags包含"妈妈"和"礼物",那么"爸爸的礼物"条目将会显示,因为它有"礼物"标签.我宁愿让它不显示:)
我想将Image放在中心,并在一个按钮下面的文本下面,我试图设置android:gravity但是无法正确设置它,这是附加的图像:
下面是我的xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingLeft="10.0dip"
android:paddingTop="10.0dip"
android:paddingRight="10.0dip"
android:paddingBottom="10.0dip"
android:background="@drawable/background_img"
>
<LinearLayout
android:layout_height="0dp"
android:layout_width="match_parent"
android:layout_weight="1"
android:orientation="horizontal"
android:paddingLeft="10.0dip"
android:paddingTop="10.0dip"
android:paddingRight="10.0dip"
android:paddingBottom="10.0dip"
>
<Button
android:layout_height="match_parent"
android:layout_width="0dp"
android:layout_weight="1"
android:id="@+id/button_listen"
android:text="@string/listen"
android:drawableTop="@drawable/listen_btn"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:layout_gravity="center"
/>
<Button
android:layout_height="match_parent"
android:layout_width="0dp"
android:layout_weight="1"
android:id="@+id/button_gallery"
android:text="@string/gallery"
android:drawableTop="@drawable/gallery_btn"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:layout_gravity="center"
/>
</LinearLayout>
<LinearLayout
android:layout_height="0dp"
android:layout_width="match_parent"
android:layout_weight="1"
android:orientation="horizontal"
android:paddingLeft="10.0dip"
android:paddingTop="10.0dip"
android:paddingRight="10.0dip"
android:paddingBottom="10.0dip"
>
<Button
android:layout_height="match_parent"
android:layout_width="0dp"
android:layout_weight="1"
android:id="@+id/button_play"
android:text="@string/play"
android:drawableTop="@drawable/play_btn"
android:layout_marginLeft="10dp"
android:layout_gravity="center"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
/>
<Button
android:layout_height="match_parent"
android:layout_width="0dp"
android:layout_weight="1" …
Run Code Online (Sandbox Code Playgroud) 我不确定我做错了什么,但我有一段代码可以计算两个日期之间的天数,看起来如下所示:
final Calendar first = new GregorianCalendar(2010, Calendar.OCTOBER, 1);
final Calendar last = new GregorianCalendar(2010, Calendar.NOVEMBER, 1);
final long difference = last.getTimeInMillis() - first.getTimeInMillis();
final long days = difference / (1000 * 60 * 60 * 24);
System.out.println("difference: " + difference);
System.out.println("days: " + days);
Run Code Online (Sandbox Code Playgroud)
总而言之,上面的代码块计算了2010年10月1日到2010年11月1日之间的天数.我希望看到它返回31天(看到10月份的31天)
difference: xxxx
days: 31
Run Code Online (Sandbox Code Playgroud)
但相反,它在十月份显示了30天!
difference: 2674800000
days: 30
Run Code Online (Sandbox Code Playgroud)
我已经设法将其缩小到2010年10月2日和2010年10月3日之间,这似乎只有82800000毫秒,而不是完整的86400000毫秒(正好缺少一个小时).
有没有人有任何想法我做错了什么?或者10月2日是一个比常规日少一分钟的特殊日期?
我似乎在一夜之间在我的应用程序中遇到异常.
我的环境是一个使用Tomcat的Java Web应用程序,用Java6编写并在MySQL上运行,Hibernate3用于连接数据库(使用MySQL连接器5.0.3 - mysql-connector-java-5.0.3-bin.jar)
有一个计划的作业在一夜之间运行(使用quartz作为调度程序),当在凌晨3点运行时,它在尝试访问数据库时给出以下异常(注意,我已经用"xxx"重命名了堆栈跟踪的位,因为它是我工作的公司的内部代码):
03:00:00 ERROR bernate.transaction.JDBCTransaction: JDBC begin failed
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:
** BEGIN NESTED EXCEPTION **
java.io.EOFException
STACKTRACE:
java.io.EOFException
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1913)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2304)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2803)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1573)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1665)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3118)
at com.mysql.jdbc.Connection.setAutoCommit(Connection.java:5215)
at org.apache.commons.dbcp.DelegatingConnection.setAutoCommit(DelegatingConnection.java:331)
at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.setAutoCommit(PoolingDataSource.java:317)
at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:63)
at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1326)
at xxx.HibernateSession.beginThreadTransaction(HibernateSession.java:75)
at xxx.HibernateSession.beginTransaction(HibernateSession.java:141)
at xxx.TestCaseManager.runAllTestsInBackground(TestCaseManager.java:228)
at xxx.scheduler.Job.execute(Job.java:42)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:529)
** END NESTED EXCEPTION **
Last packet sent to the server was 0 ms ago.
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2515)
at …
Run Code Online (Sandbox Code Playgroud) 我在我的工作中写了很多GreaseMonkey脚本,它会自动登录我们这里的内部网站.除了我们的时间表应用程序(使用HTTP身份验证)之外,我已经设法为几乎每个站点编写脚本.
有没有办法可以使用GreaseMonkey自动登录我这个网站?
编辑:我知道浏览器中的商店密码功能,但是我的脚本更进一步,检查我是否在加载时(通过遍历HTML)登录到站点,然后将帖子提交到登录页面.这消除了必须加载站点,进入登录页面,输入我的凭据,然后点击提交的步骤
javascript authentication greasemonkey http http-authentication
java ×2
javascript ×2
android ×1
button ×1
center ×1
core-data ×1
date ×1
dom ×1
greasemonkey ×1
http ×1
image ×1
ios ×1
jquery ×1
mysql ×1
nspredicate ×1
objective-c ×1
text ×1
tomcat ×1