我刚刚开始以任何严肃的方式使用新的jQM 1.2弹出功能,并遇到了许多奇怪的问题.我需要从脚本打开我的弹出窗口而不是通过data-rel ='popup'点击.我认为"简单" - 只需将弹出元素放入数据角色设置为'popup',然后从脚本中将其作为element.popup('open')打开.我试过让jQM抱怨
未捕获错误:无法在初始化之前调用弹出窗口上的方法; 试图调用方法'打开'
所以我认为我根本就不会使用数据角色,将元素样式设置为display:none然后简单地执行
element.popup().css('display':'block').popup('open')来自脚本中的必需项.这第一次就像魅力一样.然后当我尝试重新打开弹出窗口时没有任何反应 - 没有弹出窗口!我认为这可能与两次初始化弹出窗口有关,所以我将代码更改为
if ('undefined' == typeof(element.data('ppp'))
element.popup().css('display','block').data('ppp',1);
Run Code Online (Sandbox Code Playgroud)
其次是
element.popup('open')
Run Code Online (Sandbox Code Playgroud)
仍然没有快乐 - 似乎弹出窗口一旦关闭就会忘记它的数据属性
任何有关这方面的帮助都将非常感激 - 基本上我想要做的就是从脚本中多次打开和关闭弹出窗口.
我正在掌握Golang的做事方式.对于可能能够提供以下帮助的人,我非常感激不尽.首先是一些示例代码
package main
import (
"log"
"os"
)
func logIt(s string) {
f, _ := os.OpenFile("errors.log", os.O_RDWR|os.O_CREATE|os.O_APPEND,
0666)
defer f.Close()
log.SetOutput(f)
log.Println(s)
}
type iAm func(string)
func a(iam string) { logIt(iam + " A") }
func b(iam string) { logIt(iam + " B") }
func c(iam string) { logIt(iam + " C") }
var funcs = map[string]iAm{"A": a, "B": b, "C": c}
func main() {
funcs["A"]("Je suis")
funcs["B"]("Ich bin")
funcs["A"]("Yo soy")
funcs["D"]("Soy Yo")
}
Run Code Online (Sandbox Code Playgroud)
说明
特点。我在我正在创建的混合 Cordova/Android 应用程序中使用Orbitron 字体- 很简单,因为它很紧凑,并且具有我所追求的干净、未来主义的外观。然而,不久前我意识到 Orbitron 是一种相当有限的字体,仅支持基本的拉丁字符集。
\n\n我正要开始转向由 Google 创建的 Noto * 系列字体,因此不再有 豆腐- 豆腐是印刷者用来描述当字体没有字体时出现的空白矩形框的术语。适合显示的字形。
\n\n在我的应用程序中合并 Noto Sans、Noto Sans Naksh(阿拉伯语)和 Noto Sans CJK(远东)字体系列会增加其大小,因此我决定首先在 Windows 上的 Chrome 中进行实验(有一段时间,WebView
使用Android 的混合应用程序源自 Chrome,因此测试具有相当的代表性。
我的测试标记如下所示。即使 Orbitron 被指定为默认重要字体,Chrome 也能很好地显示“Hello World!”的文本。西班牙语(Orbitron 没有西班牙语倒感叹号)、阿拉伯语、简体中文、日语和泰米尔语(Orbitron 中均不存在)。
\n\n*{font-family:orbitron !important;}
Run Code Online (Sandbox Code Playgroud)\r\n<link href="https://fonts.googleapis.com/css?family=Orbitron&display=swap" rel="stylesheet">\r\n\r\n<div id=\'english\'>Hell\xc3\xa1</div>\r\n<div id=\'spanish\'>\xc2\xa1Hola Mundo!</div>\r\n<div id=\'arabic\'>\xd9\x85\xd8\xb1\xd8\xad\xd8\xa8\xd8\xa7 \xd8\xa8\xd8\xa7\xd9\x84\xd8\xb9\xd8\xa7\xd9\x84\xd9\x85!</div>\r\n<div id=\'sch\'>\xe4\xbd\xa0\xe5\xa5\xbd\xef\xbc\x8c\xe4\xb8\x96\xe7\x95\x8c\xef\xbc\x81</div>\r\n<div id=\'jp\'>\xe3\x81\x93\xe3\x82\x93\xe3\x81\xab\xe3\x81\xa1\xe3\x81\xaf\xe4\xb8\x96\xe7\x95\x8c\xef\xbc\x81</div>\r\n<div id=\'tamil\'>\xe0\xae\xb5\xe0\xae\xa3\xe0\xae\x95\xe0\xaf\x8d\xe0\xae\x95\xe0\xae\xae\xe0\xaf\x8d \xe0\xae\x89\xe0\xae\xb2\xe0\xae\x95\xe0\xae\xae\xe0\xaf\x8d!</div>
Run Code Online (Sandbox Code Playgroud)\r\n显然,当 Chrome 在 Orbitron 中发现 Tofu 时,它正在悄悄地使用可靠的后备。我的问题
\n\n在 jQuery 中获取具有部分属性匹配的元素非常容易。例如
section[id^="sect_"]
Run Code Online (Sandbox Code Playgroud)
将获取 id 格式为 sect_xxxx 的所有元素。然而,我需要更进一步并获取 - 这是在 jQuery Mobile 应用程序中 - 当前可见并带有该表单的 id 的部分。我尝试以各种方式组合 :visible 修饰符,但一片空白。我将不胜感激任何能够提出正确格式的人。
我不得不承认在这里黑暗中摸索.我相当擅长PHP,但我对管理LINUX服务器知之甚少.我需要在我的64位CentOS 6服务器上安装memcached,并且遇到两个信息非常丰富的资源
http://boomshadow.net/tech/installs/how-to-install-memcached/
我按照那里的步骤进行了操作,现在memcached守护程序在我的服务器上启动并运行.我仍然需要为memcache安装PHP扩展,所以我尝试了这里解释的步骤
http://boomshadow.net/tech/installs/how-to-install-php-memcache/
这是我得到的输出
[root@xxx ~]# pecl install memcache
WARNING: channel "pecl.php.net" has updated its protocols, use "pecl channel-update
pecl.php.net" to update
downloading memcache-3.0.8.tgz ...
Starting to download memcache-3.0.8.tgz (70,523 bytes)
.................done: 70,523 bytes
15 source files, building
running: phpize
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
Enable memcache session handler support? [yes] : yes
building in /var/tmp/pear-build-rootZi8fyR/memcache-3.0.8
running: /var/tmp/memcache/configure --enable-memcache-session=yes
checking for grep that handles long lines and …
Run Code Online (Sandbox Code Playgroud) 没有任何示例显示如何使用PHP中的Gearman.一个典型的就是这样
**CLIENT**
<?php
$client= new GearmanClient();
$client->addServer();
print $client->do("revit", "AlL THE World's a sTagE");
print "\n";
?>
**SERVER**
<?php
$worker= new GearmanWorker();
$worker->addServer();
$worker->addFunction("revit", "rev_it");
while ($worker->work());
function rev_it($job)
{
return strrev($job->workload());
}
?>
Run Code Online (Sandbox Code Playgroud)
我在我的64位CentOS服务器上安装了Gearmand和PECL PHP扩展,编写了这些脚本,确保Gearmand运行然后浏览到客户端.浏览器等了....
我完全预料到这一点,因为我认为Gearman服务器需要以某种方式知道它应该在收到适当的客户端请求时执行该特定的工作脚本.
我打开另一个选项卡并浏览到工作脚本,并立即在客户端脚本选项卡中找回响应.
这里似乎缺少一个链接.当一个人写一个工作脚本时,它不是必须在Gearman服务器上注册,所以后者知道用它来服务某些客户端吗?
要么我一直在谷歌搜索错误的东西,否则所有那些"如何在PHP中使用Gearman"的例子都会遗漏一些东西.有人可以帮忙吗?
对于能够告诉我如何在测试空格/制表符后面的另一个指定子字符串之后如何将所有字符提取到第一个空格或制表符后,我最有责任感受到这一点.例如,包含的文件
php server-side
asp server-side
css client-side
html client-side
golang server-side
Run Code Online (Sandbox Code Playgroud)
当逐行读取时可用于生成字符串
php asp golang
Run Code Online (Sandbox Code Playgroud)
即,结束客户端的行完全退出,包含服务器端的行在空格处截断.
当我运行Node HTTP服务器应用程序时,我通常会调用自定义函数
function runAsWWW()
{
try
{
process.setgid('www-data');
process.setuid('www-data');
} catch (err)
{
console.error('Cowardly refusal to keep the process alive as root.');
process.exit(1);
}
}
Run Code Online (Sandbox Code Playgroud)
从 server.listen(8080,'localhost',null,runAsWWW);
所以服务器实际上作为www-data
用户运行,以提供更好的安全性.当我通过发布启动Golang Web服务器时,我能做些类似的事情go run index.go
吗?
是否存在使用JSON1扩展编译的Linux/Ubuntu的SQLite发行版.SQLite JSON1页面上的说明只解释了如何在编译后加载扩展 - 我想避免的题外话.
我目前正在使用 AdMob 测试广告测试混合 Cordova/Android 应用程序。该应用程序使用一个自定义(即内部)插件,我从中可以访问 Google Play 服务 AdMob API。plugin.xml
文件的相关位如下
<platform name="android">
<preference name="PLAY_SERVICES_VERSION" default="17.2.0"/>
<preference name="ADMOB_APP_ID" default="ca-app-pub-...."/>
<framework src="com.android.support:appcompat-v7:27.1.0" />
<framework src="com.google.android.gms:play-services-ads:17.2.0"/>
Run Code Online (Sandbox Code Playgroud)
该config.xml
应用程序的文件声明以下内容
<preference name="android-minSdkVersion" value="23" />
<preference name="android-targetSdkVersion" value="28" />
Run Code Online (Sandbox Code Playgroud)
加载和显示激励视频广告的 Java 代码遵循此处的讨论。
虽然这行得通,但我在这里困扰的是我使用了一个相当古老的play-services-ads
API。问题是,如果我尝试根据此处显示的说明升级到最新的 API 。我修改后的plugin.xml
文件反映了使用最新 API 所需的更改
<platform name="android">
<preference name="PLAY_SERVICES_VERSION" default="18.3.0"/>
<preference name="ADMOB_APP_ID" default="ca-app-pub-..."/>
<framework src="com.android.support:appcompat-v7:28.0.0" />
<framework src="com.google.android.gms:play-services-ads:18.3.0"/>
Run Code Online (Sandbox Code Playgroud)
问题是我无法再编译该应用程序。Cordova CLI 报告了我在下面显示的一系列问题
带有退出代码 1 错误输出:注意:path\to\app\platforms\android\CordovaLib\src\org\apache\cordova\engine\SystemCookieManager.java 使用或覆盖已弃用的 API。注意:使用 -Xlint:deprecation 重新编译以获取详细信息。path\to\app\platforms\android\app\src\main\AndroidManifest.xml:22:18-86 错误:属性 application@appComponentFactory value=(androidx.core.app.CoreComponentFactory) 来自 [androidx.core:core: …
我的混合式Cordova Android应用程序使用一个自定义插件,在该插件中,我大约每30分钟执行一次后台工作。到现在为止,我已经使用AlarmManger
了setInexact
报警执行工作。我对该路由唯一真正的问题是,警报无法在重新启动后幸免。鉴于我现在只支持Android的6(API 23)+设备现在我与更换试验AlarmManager
用JobScheduler
。到目前为止,我的努力如下所示
public class UnyService extends JobService
{
@Override
public boolean onStartJob(JobParameters params)
{
UnyHandler.sendMessage(Message.obtain(UnyHandler,1,params));
return true;
}
@Override
public boolean onStopJob(JobParameters params)
{
UnyHandler.removeMessages(1);
return false;
}
Run Code Online (Sandbox Code Playgroud)
我正在使用Handler
来执行实际工作。的代码Handler
如下所示
private Handler UnyHandler = new Handler(new Handler.Callback()
{
@Override
public boolean handleMessage(Message msg)
{
Feedback.postBackInfo("Handled it!");
jobFinished((JobParameters)msg.obj,false);
return true;
}
});
Run Code Online (Sandbox Code Playgroud)
然后,我使用以下代码启动并运行该作业
private void launchTimerJob()
{
timerJob =
(JobScheduler)context.getSystemService(Context.JOB_SCHEDULER_SERVICE);
JobInfo.Builder builder = new JobInfo.Builder(1,new
ComponentName(Utils.packName,UnyService.class.getName()));
builder.setPeriodic(30000);
builder.setPersisted(true);
builder.setBackoffCriteria(30000,JobInfo.BACKOFF_POLICY_LINEAR); …
Run Code Online (Sandbox Code Playgroud)