有一个大的SQLiteOpenHelper
子类为数据库中的每个表定义onCreate
和onUpgrade
方法,或者最好有多SQLiteOpenHelper
个子类,每个表一个?
有最好的做法吗?或者都是可以接受的,但有不同的好的和坏的副作用?
我正在尝试开发一个试图检测页面自动点击的库.该库将在几个不同的页面上导入,一些将具有jquery,另一些将不会,或者将具有其他不同的库,因此我的解决方案应该是vanilla javascript.
目标是有几个安全层,第一个将是javascript,这个库不是唯一的反对自动点击的对策,但应该提供尽可能多的信息.
我们的想法是拦截页面上发生的所有点击和触摸事件,如果这些事件是脚本生成的,那么会发生一些事情(应该是ajax调用,或者在表单上设置值,或者设置cookie或其他东西,这在现阶段并不重要).
我写了一个非常简单的脚本来检查计算机生成的点击:
(function(){
document.onreadystatechange = function () {
if (document.readyState === "interactive") {
try{
document.querySelector('body').addEventListener('click', function(evt) {
console.log("which", evt.which);
console.log("isTrusted", evt.isTrusted);
}, true); // Use Capturing
}catch(e){
console.log("error on addeventlistener",e);
}
}
}
}());
Run Code Online (Sandbox Code Playgroud)
我看到这个工作在一个没有任何其他js的html页面,但是因为我添加了这个javascript来测试自动点击检测只是"没有"发生,没有任何我的意思是自动点击和检测.如果在控制台中使用,则以下相同的代码工作正常,并且事件被截获和评估.这是使用的脚本:
document.onreadystatechange = function () {
if (document.readyState === "interactive") {
//1 try
el = document.getElementById('target');
if (el.onclick) {
el.onclick();
} else if (el.click) {
el.click();
}
console.log("clicked")
}
//2 try
var d = document.createElement('div'); d.style.position = …
Run Code Online (Sandbox Code Playgroud) 美好的一天,我想问一个事情 on error resume next
让我们假设我们有一个循环来浏览记录集,如:
Do while not rs.EOF
query = "UPDATE ...."
conn.execute(query)
rs.movenext
loop
Run Code Online (Sandbox Code Playgroud)
我想确定它UPDATE
是好的,我想检查是否有一些问题,所以我在代码中添加了调试功能,如:
Do while not rs.EOF
query = "UPDATE ...."
on error resume next
conn.execute(query)
If Err.Number <> 0 Then
Response.write(Err.Number)
response.write("<br>")
response.write(Err.description)
response.write("<br>")
response.write(query)
response.write("<br><br>")
end if
on error goto 0
rs.movenext
loop
Run Code Online (Sandbox Code Playgroud)
问题是:在循环期间,如果遇到错误,下一个循环将出现错误(因此再次触发错误块)?或者on error goto 0
会清除Err对象?换句话说,它会作为错误处理吗?
美好的一天,我正在开发一个php页面,其中有一个iframe,打开另一个带有复选框的php页面,这个第二页,当用户点击复选框时,必须进行ajax调用以确认"点击".
所以有pageA.php,其中有一个指向pageB.php的iframe,在这一个中,只有一个带有复选框和javascript(vanilla javascript)的表单,可以在点击时调用第三页.
这是我用来发送"点击"的javascript:
document.getElementById("checkboxMe").onclick = function() {
xhttp.open("POST", "pageC.php", true);
xhttp.send("foo=bar");
};
Run Code Online (Sandbox Code Playgroud)
单击复选框时,这是我在控制台上看到的内容:
Uncaught ReferenceError: xhttp is not defined
Run Code Online (Sandbox Code Playgroud)
它永远不会发生这样的事情,事实上我无法在谷歌上轻易找到这个错误,有没有人有一些线索?也许是我进入iframe的事实?我怎么能解决这个问题?
在此先感谢ppl.
美好的一天.我使用WordPress的网站"AMP"发生器,这个插件的行动之一就是之前刚刚添加biolerplate标签</head>
和<noscript>
具有降效标签.谷歌搜索控制台不断警告我一个特定的错误:"样板的强制标签'noscript外壳'缺失或不正确."
所以我开始调查.我发现,"东西"是</head><body>
在<noscript>
开始标记之前注入,如果我改变了放置noscript标签的位置,其他两个也被移动了.
这是呈现的代码:
<style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style>
</head><body><noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript>
Run Code Online (Sandbox Code Playgroud)
我做了很多测试,似乎<noscript>
标签是这个错误的重点.我还读了一些其他的答案,说文档不应该是严格的xhtml 1.1,事实并非如此,事实上这些是在页面上呈现的第一件事:
<!DOCTYPE html>
<html amp lang="it-IT"><head><meta charset="utf-8"><link rel="dns-prefetch" href="https://cdn.ampproject.org">
Run Code Online (Sandbox Code Playgroud)
我试图弄清楚我可以做些什么来解决许多网站上存在的错误,包括不同的插件和主题(以及wordpress版本).
更新:
我试图<noscript>
在代码中手动添加一个标签,每次我在<head>
部分中添加它,部分都会关闭,<body>
部分打开,没有任何类(所以它看起来像一个bug).如果你想看到这个bug,只需到这里查找代码:
https://www.assistenzamalasanita.com/2015/07/errori-medici-durante-il-parto-come-si-valutano/amp/
更新2 禁用所有插件并切换到默认主题对此没有影响.此外,我已经将整个站点复制到另一台服务器上,其中问题不存在,WP站点是相同的,并且serer配置也应该是,但是在工作的站点上我可以看到HTTP请求有一个关于php版本(7.0.2)的属性,其他网站没有.
这可能会影响页面的渲染吗?看到有效的网站:https: //www.doors.it/iride/2017/10/risarcimento-malasanita/amp
更新3 这是插件的一部分,实际上是编写样板的代码(头部和身体错误的标签).
add_action( 'amp_post_template_head', 'amp_post_template_add_boilerplate_css' ); …
Run Code Online (Sandbox Code Playgroud) 在Android上尝试我的全新服务之后我得到了这个:
我猜是与清单文件和权限相关的东西,服务在最后一个活动之后启动,更新服务器上的数据并检索新数据并在android上的sqlite上保存id:
这里还有清单文件:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ggservice.democracy"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.ggservice.democracy.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:label="@string/app_name" android:name="com.ggservice.democracy.sondaggioActivity"/>
<activity android:label="@string/app_name" android:name="com.ggservice.democracy.domandeDiCategoria"/>
<service android:name="com.ggservice.democracy.updateDemocracyService" />
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
logcat:
01-02 15:33:30.960: W/dalvikvm(2570): threadid=1: thread exiting with uncaught exception (group=0x409c01f8)
01-02 15:33:31.160: E/AndroidRuntime(2570): FATAL EXCEPTION: main
01-02 15:33:31.160: E/AndroidRuntime(2570): java.lang.RuntimeException: Unable to start service com.ggservice.democracy.updateDemocracyService@412f0c60 with Intent { cmp=com.ggservice.democracy/.updateDemocracyService }: android.os.NetworkOnMainThreadException
01-02 15:33:31.160: E/AndroidRuntime(2570): …
Run Code Online (Sandbox Code Playgroud) 美好的一天.我在网页上有一个简单的链接,用户可以在其中拨打USSD号码:
<a href="tel:*111*2#" class="phoneCallButtonLink">*CLICK HERE AND CALL *111*2#</a>
Run Code Online (Sandbox Code Playgroud)
这很直接; 现在,如果我在桌面浏览器上测试它,它会弹出一个警告,询问我是否要调用(使用Skype)数字*111*2#,这没关系.
使用我的Android手机(S Note 3),在测试此页面时,手机(或其他东西)从链接中删除了最后一个"#"(仅限最后一个),从而调用*111*2.
有没有人经历过这个?或者知道如何防止这种情况?
有没有办法改变我的功能:
public categorie createCategoria(String categoria) {
ContentValues values = new ContentValues();
values.put(MySQLiteHelper.COLUMN_NOME, categoria);
values.put(MySQLiteHelper.COLUMN_PREF, 0);
long insertId = database.insert(MySQLiteHelper.TABLE_CATEGORIE, null,
values);
Cursor cursor = database.query(MySQLiteHelper.TABLE_CATEGORIE,
allCategorieColumns, MySQLiteHelper.COLUMN_ID + " = " + insertId, null,
null, null, null);
cursor.moveToFirst();
categorie newCategoria = cursorToCategorie(cursor);
cursor.close();
return newCategoria;
}
Run Code Online (Sandbox Code Playgroud)
这是一个原始插入,我想更改此功能,使其更新或插入相应.我想改变这个因为我已经在某些地方使用了这个功能,但现在我需要选择是否插入一行或更新(或忽略插入)一行具有相同的功能COLUMN_NOME
.有人可以帮我这么做吗?
我的意思是我只想插入一个新行,如果没有另一个具有相同的名称(通常你知道).
假设我有一个像这样的水平结构的数据库:
ID | NAME | DATA1 | DATA2 | DATA3 | DATA4 | DATA5 | DATA6 | DATA7
1 | mmm | 0 | 1 | 0 | 3 | 5 | 1 | 0
2 | bbb | 0 | 0 | 0 | 1 | 0 | 1 | 1
Run Code Online (Sandbox Code Playgroud)
信息是数据字段,我想计算某个判别式的所有时间,例如"大于0"
我认为它是循环所有领域,计数或COUNT()
每个DATA
领域的方式,所以SUM()
那些7
查询...任何人有另一个想法?
在这种情况下结果,所以"count every DATA field with a value over 0"
将= 7
我在MySql中有一个表,我保存了一些数据,让我们假设a name
和a stand
.我知道看台将从1到100,我想选择那些未被占用的看台.例如,让我们假设只有5个看台和这个表:
| name | stand |
--------------------
| test | 1 |
| anot | 3 |
| blah | 4 |
| uuuh | 5 |
Run Code Online (Sandbox Code Playgroud)
在这种情况下,唯一的免费立场将是2
.
有没有声明呢?...我正在考虑这个条款,NOT IN
但我无法弄清楚代码......也许我可以在MySql中定义am Array吗?