ブラウザは、windowsのIEとAndroidの標準ブラウザです。入力データは名前、メールアドレスなど5項目ほどあり、テキストを入力するフォーム、プルダウンで選択するフォームがあります。入力後、あるボタンを押したいです。そのデータが複数セットあり、表形式で管理できると助かります。その表を、両ブラウザで共通に使いたいのです。
ちょっと調べた範囲では、ExelのVBAを使えばできそうですが、Androidでできるのか、わかりませんでした。他の方法でも結構です。
ご教示ください。
データをHTML文書にしてどっかのサーバーにアップロードしておいて、
入力するときはbookmarkletからiframeを作ってデータを読み込んで……みたいな。
クロスドメイン制限を打ち破るためにはwindow.postMessageを使う。
https://developer.mozilla.org/ja/docs/DOM/window.postMessage
データをHTML文書にしてどっかのサーバーにアップロードしておいて、
入力するときはbookmarkletからiframeを作ってデータを読み込んで……みたいな。
クロスドメイン制限を打ち破るためにはwindow.postMessageを使う。
https://developer.mozilla.org/ja/docs/DOM/window.postMessage
ご回答ありがとうございます。
おかげさまで「①のみ」「②のみ」はできるようになりました。ただ「①→②」ができないで苦戦しております。私のタイプミスの可能性もあるのかもしれませんが...
確認したいことがございます。
bookmarkletをページ1で実行して、location.href='ページ2のアドレス'にした後、
document.getElementById("name").value="太郎"
みないなことはできますでしょうか?
よくわかってなくて申し訳ないのですが、例えば
win = window.open('ページ2のアドレス')
win.document.getElementById("name").value="太郎"
のようなことはしなくてもよろしいのでしょうか?(この2行があっている自信もないですが)
恐れ入りますが、よろしくお願いいたします。
スマホを持ってないのでAndroidの標準ブラウザで
window.open()がどう動くのか分からないです。
自分だったらlocation.hrefを使うより、こういう感じにするかな。
javascript:(function(){
var iframe = document.createElement("iframe");
iframe.src = 'ページ2のアドレス';
document.body.appendChild(iframe);
var win = iframe.contentWindow;
win.addEventListener("DOMContentLoaded", entryForm, false);
function entryForm() {
win.document.getElementById("name").value="太郎";
document.body.removeChild(iframe);
}
})();
ご回答ありがとうございました。
昨晩、bookmarkletに簡単なjavascriptを記述して、やりたいことの半分はできました。やりたいことは
①あるページ(ページ1)のリンクをクリックして、別のページ(ページ2)に移動する。
②ページ2において、必要なデータを入力後、ボタンをクリックする。
なのですが、②はできるようになりました。
ページ2はページ1の一つ下の階層になります。この場合、クロスドメイン制限はない(自由にアクセスできる)と思ってよろしいでしょうか?
クロスドメイン制限とwindow.postMessageを丁寧にご説明いただきましたが、まだ理解できておりません。申し訳ございませんが、
・ページ2からページ1への移動が可能か否か?
・この質問文だけではわからない場合、可能か否かを調べる方法
をご教示いただけると助かります。また、質問させていただきながら、ページ1とページ2のURLを開示できないこと申し訳ございません。
よろしくお願いいたします。
ご回答ありがとうございます。
2015/01/28 00:31:45おかげさまで「①のみ」「②のみ」はできるようになりました。ただ「①→②」ができないで苦戦しております。私のタイプミスの可能性もあるのかもしれませんが...
確認したいことがございます。
bookmarkletをページ1で実行して、location.href='ページ2のアドレス'にした後、
document.getElementById("name").value="太郎"
みないなことはできますでしょうか?
よくわかってなくて申し訳ないのですが、例えば
win = window.open('ページ2のアドレス')
win.document.getElementById("name").value="太郎"
のようなことはしなくてもよろしいのでしょうか?(この2行があっている自信もないですが)
恐れ入りますが、よろしくお願いいたします。
スマホを持ってないのでAndroidの標準ブラウザで
2015/01/28 03:22:25window.open()がどう動くのか分からないです。
自分だったらlocation.hrefを使うより、こういう感じにするかな。
javascript:(function(){
var iframe = document.createElement("iframe");
iframe.src = 'ページ2のアドレス';
document.body.appendChild(iframe);
var win = iframe.contentWindow;
win.addEventListener("DOMContentLoaded", entryForm, false);
function entryForm() {
win.document.getElementById("name").value="太郎";
document.body.removeChild(iframe);
}
})();