小编Ala*_* M.的帖子

与JS"使用前定义"和Titanium Developer竞争

我有一个冗长的JavaScript文件传递JSLint,除了"在定义之前使用"错误.

我使用了正常的函数声明,如...

function whatever() {do something;}
Run Code Online (Sandbox Code Playgroud)

而不是......

var whatever = function(){do something;};
Run Code Online (Sandbox Code Playgroud)

史蒂夫哈里森对早期帖子的回复一致......

假设您使用function关键字声明所有函数,我认为它成为一个编程风格的问题.就个人而言,我更喜欢以一种看似合乎逻辑的方式构造我的函数,并使代码尽可能可读.例如,和你一样,我会在顶部放置一个init函数,因为它是从一切开始的地方.

...我喜欢按照对我有意义的顺序查看功能.

该脚本在几个测试的浏览器中完美运行(例如,FireFox,Safari,Mobile Safari,Fennec,IE,Chrome,Midori等).

这就是问题所在:我想在使用Titanium构建的iPhone应用程序中使用该脚本,但其编译器会因"使用前定义"错误而停止.

我怎么能绕过这个?

这可能是一个愚蠢的问题,但也......如果函数需要以特定的顺序调用,如何解决需要回调最初调用它的函数的被调用函数的问题?例如...

function buildMenu(){
     Display a list of five menu items, each of which calls a function to build the associated screen.
}

function screen1() {
     Display the screen associated with menu item #1.
}
Run Code Online (Sandbox Code Playgroud)

如果函数需要按顺序声明,则function screen1需要先于function buildMenu.但是,如果在某些情况下,无法构建screen1并因此想重新显示菜单(即调用技术上尚未声明的函数),该怎么办?

哦,是的......还有一个问题:是否有网站或程序会自动重新排序函数,而不是要求程序员手动完成?

javascript jslint titanium

10
推荐指数
1
解决办法
6764
查看次数

有关Amazon RDS,S3存储和默认RDS表的基本问题

我刚刚在Amazon RDS服务上创建了我的第一个数据库实例.我在想...

1)有没有办法让Amazon自动备份我的数据,即使实例被删除也会持续存在?

2)是否可以跨多个实例共享表?

3)当我第一次连接到实例时,我发现有三个数据库:我专门创建的数据库,innob和mysql.我应该继续使用我创建的那个还是其他一个?有成本影响吗?

谢谢.

amazon-s3 amazon-rds

5
推荐指数
1
解决办法
2953
查看次数

具有多个LIMITS的MySQL查询

假设我的下表中有数百种不同颜色的玩具......

---------------------------
  ITEM  |  COST  |  COLOR
---------------------------
    1   |  12.00 |  BLUE
    2   |  10.98 |  RED
    3   |   9.34 |  BLUE
    4   |  11.33 |  WHITE
    5   |   8.00 |  YELLOW
    .   |    .   |    .
    .   |    .   |    .
    .   |    .   |    .
Run Code Online (Sandbox Code Playgroud)

如果我想选择三个价格最低的蓝色玩具,我当然可以写...

SELECT * FROM TOYS WHERE Color = 'BLUE' ORDER BY COST LIMIT 3;
Run Code Online (Sandbox Code Playgroud)

但是,有没有办法可以选择一个具有独特数量的最低价黄色,白色和蓝色玩具,就像我说的那样......

 SELECT * FROM TOYS WHERE COLOR = 'YELLOW' (LIMIT 1) AND COLOR = 'WHITE' (LIMIT 3) AND …
Run Code Online (Sandbox Code Playgroud)

mysql select limit

5
推荐指数
1
解决办法
6153
查看次数

从电子邮件链接启动基于PhoneGap的iPhone应用程序

我刚从Titanium切换到PhoneGap.一切正常,但我无法通过电子邮件链接启动应用程序.iPad/iPod动画启动应用程序,然后应用程序崩溃.

在此帖子中,真实应用名称已更改为"myapp".我在电子邮件中使用的链接myapp://(即真正的应用程序名称)通常带有参数(例如myapp://?argument=value),并且${PRODUCT_NAME}与字符串相同myapp.

有人有主意吗?谢谢.


PLIST

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>UIApplicationExitsOnSuspend</key>    <true/>
        <key>LSRequiresIPhoneOS</key>             <true/>
        <key>CFBundleSignature</key>              <string>????</string>
        <key>CFBundleDisplayName</key>            <string>My App</string>
        <key>CFBundleIdentifier</key>             <string>com.mydomain.myapp</string>
        <key>CFBundleName</key>                   <string>${PRODUCT_NAME}</string>
        <key>CFBundlePackageType</key>            <string>APPL</string>
        <key>CFBundleVersion</key>                <string>1.0</string>
        <key>CFBundleExecutable</key>             <string>${EXECUTABLE_NAME}</string>
        <key>CFBundleIconFiles</key>
            <array>
                <string>icon.png</string>
                <string>icon_large.png</string>
            </array>
        <key>CFBundleInfoDictionaryVersion</key>  <string>6.0</string>
        <key>UILaunchImageFile~ipad</key>         <string>Default-ipad</string>
        <key>UILaunchImageFile~iphone</key>       <string>Default</string>
        <key>CFBundleDevelopmentRegion</key>      <string>English</string>
        <key>NSMainNibFile</key>                  <string></string>
        <key>UIStatusBarHidden</key>              <true/>
        <key>UISupportedInterfaceOrientations~iphone</key>
            <array>
                <string>UIInterfaceOrientationPortrait</string>
            </array>
        <key>UISupportedInterfaceOrientations~ipad</key>
            <array>
                <string>UIInterfaceOrientationPortrait</string>
            </array>
        <key>CFBundleURLTypes</key>
            <array>
                <dict>
                    <key>CFBundleURLName</key> <string>com.mydomain.myapp</string>
                    <key>CFBundleURLSchemes</key>
                        <array>
                            <string>myapp</string>
                        </array>
                </dict>
            </array> …
Run Code Online (Sandbox Code Playgroud)

iphone hyperlink launching-application cordova

4
推荐指数
1
解决办法
1208
查看次数

无法使用Titanium的webview来触发API事件

我正在尝试从Titanium webview内部打开的外部HTML页面中触发事件.

app.js文件...

var group, now, tab, view, window;

now = new Date();
view = Titanium.UI.createWebView({url: 'http://MYWEBSITE.com/index.htm?time=' + now.getTime()});

window = Titanium.UI.createWindow({tabBarHidden: true, navBarHidden: true});
window.add(view);

Titanium.App.addEventListener('browse', function(e) {
    Ti.API.info("I received " + e.something + " from the webview.");
});

group = Titanium.UI.createTabGroup();
tab = Titanium.UI.createTab({title: 'window', window: window});
group.addTab(tab); 
group.open(tab);
Run Code Online (Sandbox Code Playgroud)

js摘自网页...

$("#testButton").mousedown(function() {
    alert ("I got clicked.");
    Ti.App.fireEvent('browse', {something:'stuff'});
});
Run Code Online (Sandbox Code Playgroud)

(我在URL中包含时间以确保页面始终是新鲜的.)

如上所示添加事件侦听器,或使用view.addEventListener,编译但最终不起作用.

使用Titanium.UI.WebView.addEventListener会生成一个错误消息,指出该对象不存在.

我是否需要以不同的方式打开URL/webview?

此外,由于Titanium.App.fireEvent不是一个公认的功能,除了Titanium,如何防止JavaScript错误?

谢谢.

addeventlistener titanium webview

3
推荐指数
1
解决办法
1万
查看次数

从一个表中获取记录,而另一个表中没有记录

SURVEYS 表:

SurveyID
UserID
Question
Choice1
Choice2
Choice3
Run Code Online (Sandbox Code Playgroud)

RESPONSES 表:

UserID
SurveyID
Answer
Run Code Online (Sandbox Code Playgroud)

第一个愿望(已实现):向我展示用户28发起的所有调查:

SELECT * 
  FROM Surveys 
 WHERE Surveys.UserID = 28
Run Code Online (Sandbox Code Playgroud)

第二个愿望(已实现):向我显示用户28已回答的所有调查:

SELECT * 
  FROM Surveys 
INNER JOIN Responses ON Surveys.SurveyID = Responses.SurveyID 
 WHERE Responses.UserID = 28
Run Code Online (Sandbox Code Playgroud)

第三个愿望(未实现):

向我显示所有未由用户28启动的调查以及哪些用户28尚未回答... SELECT*FROM Surveys INNER JOIN响应On Surveys.SurveyID = Responses.SurveyID WHERE Surveys.UserID <> 28 AND Responses.UserID <> 28 [或者:在哪里没有Surveys.UserID = 28 OR Responses.UserID = 28]

第三个查询消除了用户28的记录,但是将出现相同调查的其他实例.例如,假设用户29回答了调查问卷.将返回一行,因为WHERE不会禁止用户29的记录.

我想过使用子查询 - 类似于:SELECT*FROM Surveys WHERE Surveys.UserID <> 28 AND Surveys.SurveyID <>(SELECT Responses.SurveyID WHERE Responses.UserID = 28) - …

mysql sql database

2
推荐指数
1
解决办法
920
查看次数

如何使用 RegEx 查找同时包含数字和字母(而不仅仅是其中之一)的括号

在这个例子中...

(5) (dogs)  (5 dogs)  (dogs 5)
Run Code Online (Sandbox Code Playgroud)

我只想匹配...

(5 dogs)  -or-  (dogs 5)
Run Code Online (Sandbox Code Playgroud)

数字可以是任意位数,包含逗号、小数点、数学运算符、美元符号等。我唯一需要注意的是同时存在数字和字母字符。

我开始对hrs 提供的示例进行修改,将其用于正则表达式...

\(((letter).*(number))\)|((number).*(letter))\)
Run Code Online (Sandbox Code Playgroud)

只捕捉这个...

(number letter)  -or-  (letter number)
Run Code Online (Sandbox Code Playgroud)

但不是...

(number) (letter)
Run Code Online (Sandbox Code Playgroud)

通过将表达式修改为...

\(((^[a-zA-Z]).*(^[0-9]))\)|((^[0-9]).*(^[a-zA-Z]))\)
Run Code Online (Sandbox Code Playgroud)

...但显然我不知道自己在做什么。

javascript regex

2
推荐指数
1
解决办法
54
查看次数