我有一个greasemonkey脚本,它打开一个iframe,其中包含来自不同子域的表单作为父页面.
我希望在表单提交后iframe刷新时刷新父页面
我在iframe刷新时可以执行函数,但是我无法使该函数影响父文档.
我明白这是由于浏览器安全模型,我一直在阅读使用postMessage在两个窗口之间进行通信,但我似乎无法弄清楚如何使用它向父级发送重新加载调用.
关于如何做到这一点的任何建议将非常有用,
谢谢
我已经阅读了有关这种情况的stackoverflow的几个答案,但没有一个解决方案正在运行.
我试图根据用户是否单击一个元素来做不同的事情,或者使用jQuery将鼠标按住该元素.
有可能做到这一点吗?
我有一个显示列表视图的活动.在项目单击时,将启动第二个活动,该活动运行AsyncTask,该AsyncTask根据单击的项目获取远程URL,解析结果,然后将这些结果显示到另一个列表视图中.当异步任务正在运行时,我有一个"加载"视图,只显示图像和文本.问题是,如果我启动运行异步任务的活动,然后按回并启动所述活动的另一个实例,我会关闭一个力.
我试过了
private class getlist extends AsyncTask implements OnDismissListener{
...
@Override
public void onDismiss(DialogInterface arg0) {
this.cancel(true);
}
}
但问题仍然存在.
我也放了
if(!isCancelled()){
setContentView(R.layout.list);
...
etc.
}
进入我的onPostExecute调用,但这不是阻止视图切换,或问题是其他问题.
logcat显示"已经恢复时意外恢复..得到RemoteException发送setActive(false)通知"然后在日志中进一步向下,"java.net.SocketTimeoutException:Socket未连接"
我该如何解决这个问题?
更新:
E/AndroidRuntime(19379): Uncaught handler: thread AsyncTask #2 exiting due to uncaught exception E/AndroidRuntime(19379): java.lang.RuntimeException: An error occured while executing doInBackground() E/AndroidRuntime(19379): at android.os.AsyncTask$3.done(AsyncTask.java:200) E/AndroidRuntime(19379): at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273) E/AndroidRuntime(19379): at java.util.concurrent.FutureTask.setException(FutureTask.java:124) E/AndroidRuntime(19379): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307) E/AndroidRuntime(19379): at java.util.concurrent.FutureTask.run(FutureTask.java:137) E/AndroidRuntime(19379): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068) E/AndroidRuntime(19379): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561) E/AndroidRuntime(19379): at java.lang.Thread.run(Thread.java:1096) E/AndroidRuntime(19379): Caused by: java.lang.NullPointerException E/AndroidRuntime(19379): at com.metatroid.android.swim.ThreadViewer.getPosts(ThreadViewer.java:153) …
有比这更好的方法吗?
Boolean isNight;
Calendar cal = Calendar.getInstance();
int hour = cal.get(Calendar.HOUR_OF_DAY);
if(hour < 6 || hour > 18){
isNight = true;
} else {
isNight = false;
}
Run Code Online (Sandbox Code Playgroud)
它只检查小时是否在晚上7点到早上5点之间.有没有其他方法可以做到这一点?
我在互联网上发现的关于此的所有信息都说使用类似的东西
Login::Application.config.session_store :cookie_store, :key => '_login_session', :domain => '.domain.com'
并对我要共享该会话的所有子域使用相同的密钥.当我这样做时,子域之间不会传递身份验证.实际上,当我访问任何所谓的共享会话时,初始会话将被覆盖
即在login.domain.com上,我运行身份验证,返回用户名和会话user_id.然后我去sub.domain.com,它应该返回与login.domain.com相同的信息,但不会.在此之后,我回到login.domain.com,我也不再在那里进行身份验证.
在sub.domain.com上,session_store.rb文件如下所示:
Something::Application.config.session_store :cookie_store, :key => '_login_session', :domain => '.domain.com'
我用过:所有的:域值,也有相同的结果.如果我删除上面的:域设置,那么初始会话不会被覆盖,但它也不会被共享.
当我在Firefox Cookie的Cookie编辑器中查看Cookie时,两个子域名都使用相同的Cookie名称,但不会共享身份验证.这是一个非常基本的Users表,我使用OpenID和OAuth来执行Omniauth的身份验证
我有一个冗长的任务需要在我的Rails 4.2.6应用程序中在后台运行.不幸的是,使用Active Job不会将作业发送到后台.我创造了一份工作:
class PhotoProcessorJob < ActiveJob::Base
queue_as :default
def perform(*args)
::Photo.process_photos
end
end
Run Code Online (Sandbox Code Playgroud)
它调用我的Photo类上的方法(存储在config/initializers中):
class Photo
require 'zxing'
require 'csv'
@tablePath = Dir.glob("#{Rails.root.to_s}/tmp/photo_processing/*.csv")[0]
@output = "#{Rails.root.to_s}/tmp/photo_data.csv"
def self.getStudentInfo(id)
CSV.foreach(@tablePath, headers: true) do |row|
if row["Student ID"] == id
return row
else
next
end
end
end
def self.writeInfoToFile(data, file)
first_name = data["First Name"]
last_name = data["Last Name"]
student_id = data["Student ID"]
grade = data["Grade"]
email = data["Email"]
photo = file.to_s
CSV.open(@output, "a+") do |csv|
csv << [first_name, last_name, student_id, grade, …Run Code Online (Sandbox Code Playgroud) 在我的一个观点中,我有三个EditText领域.前两个是单行,第三个是多行.我正在使用android:windowSoftInputMode="stateVisible|adjustResize".但是当IME出现并且它具有焦点时,第三个字段在纵向模式下折叠太小.
是否可以选择设置最小高度,以强制窗口向下滚动以容纳第三个字段?
我已经尝试设置android:minHeight="20dip"中xml的文件,但这并没有影响.
该EditText问题是这样的:
<EditText
android:id="@+id/msgreplyarea"
android:layout_width="fill_parent"
android:layout_height="wrap_content" android:gravity="top"
android:layout_weight="1"
android:layout_marginLeft="10dip" android:layout_marginRight="10dip"
android:layout_marginTop="10px"
android:inputType="textCapSentences|textMultiLine"
android:imeOptions="flagNoEnterAction">
Run Code Online (Sandbox Code Playgroud)
谢谢.
我的小部件附加了一个服务来处理各种点击"命令",这些命令通过其意图传递.我还设置return START_REDELIVER_INTENT;了在重新启动服务时调用intent.getAction()时不会给出nullPointerException的情况.等等.问题是,当我通过setOnClickPendingIntent调用之一发送最后一个intent时,那么当重新启动服务时,它就好像用户点击了一个viewId一样.例如
String command = intent.getAction();
int appWidgetId = intent.getExtras().getInt(AppWidgetManager.EXTRA_APPWIDGET_ID);
if(command.equals("some command")){
//do something
}
...
remoteView.setOnClickPendingIntent(R.id.viewId,MyClass.makeControlPendingIntent(getApplicationContext(),"some command",appWidgetId));
Run Code Online (Sandbox Code Playgroud)
makeControlPendingIntent的位置是:
public static PendingIntent makeControlPendingIntent(Context context, String command, int appWidgetId) {
Intent active = new Intent(context,MyService.class);
active.setAction(command);
active.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
Uri data = Uri.withAppendedPath(Uri.parse("myclass://widget/id/#"+command+appWidgetId), String.valueOf(appWidgetId));
active.setData(data);
return(PendingIntent.getService(context, 0, active, PendingIntent.FLAG_UPDATE_CURRENT));
}
Run Code Online (Sandbox Code Playgroud)
我可以做些什么来检查服务是否正在重新启动,以便在Android重新启动我的服务的情况下不运行任何这些命令?
想知道是否可以从数据库条目处理HAML.我的模型目前处理HTML很好,但我宁愿输入HAML,并将视图处理成HTML.
我正在尝试在我的一个rails应用程序中发送pdf附件,但附件是作为文本而不是正确的pdf.
我的邮件看起来像这样:
class Notifications < ActionMailer::Base
def contact(email_params, sent_at = Time.now)
subject "" << email_params[:subject]
recipients "" << email_params[:client]
from "#{email_params[:name]} <#{email_params[:address]}>"
attachments['invoice.pdf'] = File.read("#{Rails.root.to_s}/public#{email_params[:attach]}") unless email_params[:attach].blank?
sent_on sent_at
body :message => email_params[:body], :sender_name => email_params[:name]
end
end
Run Code Online (Sandbox Code Playgroud)
我在邮件收件箱中收到的内容:
--
Date: Thu, 23 Feb 2012 13:50:58 -0800
Mime-Version: 1.0
Content-Type: text/plain;
charset=UTF-8
Content-Transfer-Encoding: 7bit
Content-ID: <[mailserver]>
Message Body
--
Date: Thu, 23 Feb 2012 13:50:58 -0800
Mime-Version: 1.0
Content-Type: application/pdf;
charset=UTF-8;
filename=invoice.pdf
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename=invoice.pdf
Content-ID: <[mailserver]>
Run Code Online (Sandbox Code Playgroud)
接下来是一串很长的ascii字符 …