みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
教えてください。
Win10 FM Pro17を使用しています。
時計を画面上に表示するため、Webビューア上にHTMLで作成した時計を置いたのでが、
「セキュリティ保護のため、コンピューターにアクセスできるアクティブコンテンツは表示されないよう、Webブラウザーで制限されています。
オプションを表示するには、ここをクリックしてください。」
というメッセージが表示されてしまいます。
「ブロックされているコンテンツを許可」を選ぶと、表示されるのですが、開きなおすと再び表示されます。
他に時計の表示方法はありますでしょうか。
もしくは、このメッセージを表示させない方法は無いでしょうか。
教えてください。
よろしくお願いいたします。
レスが付きませんネ?
然らばと云うことで、ちょっと調べてみました。
その結果、自己環境では、WebビューアのURL欄にfile:スキームのローカルファイルパスを直指定する方法で、往けそうです。
【FM検証テスト結果画像】
(「デジタル時計のWebビューア表示 」と「使用した時計HTMLファイルの内容コード例示」)
各種ブラウザテスト結果:
・IEブラウザ→警鐘ダイヤログで一時停止
・Edgeブラウザ→問題なくOK
・Webビューアブラウザ:
※URL欄へfile:スキームパスを直書き→問題なくOK
※URL欄へdata:スキームHTMLを直書き→アラートもJS時計も表示しない
※「Webビューアの設定」でURL間接指定→アラートもJS時計も表示しない
テスト環境:
win10 FMP16A、IEブラウザ Edgeブラウザ
HTMLファイル:
上記サンプルコードのHTMLファイルをローカルPC内に保存
Webビューアの設定:
・URLは、file:スキームのファイルパスを指定(file:///・・・/Clock.html)
・オプション事項設定チェックボックスは、すべてチェックを外す
Last edited by Hiro (2019-04-21 17:27:28)
Offline
ブロックの回避にはMOTWを使うのが簡便です。
"data:text/html,<!DOCTYPE html>" &
Char(1000013) & "<!-- saved from url=(0014)about:internet -->" & Char(1000013) &
以下HTMLコード
>#3『ブロックの回避にはMOTWを使うのが簡便です。』
成る程、そんな裏技があるのですネ。
ちょっと実装方法のテストをしてみました。
MOTW付HTML文の指定方法で、
・URL欄へ直書き指定 → 時刻が表示されない
・MOTW付HTML文を一旦フィールドへ格納、URL欄へはそのフィールドを指定 → 時刻が表示されOK
※こちらの環境では、一旦フィールド保存を介す必要がありました。
●【MOTWの実装画像】
●【URL欄への入力内容】FM改行¶をCRLFへ変更
Substitute(テーブル::HTMLフィールド; [¶;Char(1000013)])
●【MOTW付HTML文】コピー用に今一度
data:text/html,
<!-- saved from url=(0014)about:internet -->
<body style='width:100%;height:100%;border:0;margin:0;padding:0;background-color:black;'>
<table style='width:100%;height:100%;border:0;'>
<tr>
<td id='ClockCanvas' style='width:100%;height:100%;font-family:sans-serif;font-weight:bold;color:white;background-color:black;text-align:center;'>
</td>
</tr>
</table>
<script>
function wFig(num) {
var rtn;
if( num < 10 ) { rtn = '0' + num; }
else { rtn = num; }
return rtn;
};
function showClock() {
var nowTime = new Date();
var nowHour = wFig( nowTime.getHours() );
var nowMin = wFig( nowTime.getMinutes() )
var nowSec = wFig( nowTime.getSeconds() );
var msg = nowHour + ' : ' + nowMin + ' : ' + nowSec;
document.getElementById('ClockCanvas').innerText = msg;
};
setInterval('showClock()',1000);
</script>
</body>
Offline
var nowMin = wFig( nowTime.getMinutes() )
ここに末尾の;が抜けてるので、直書きの場合に動かなかったのでは?(全体を””の中に入れると、改行がない状態になるので)
var nowMin = wFig( nowTime.getMinutes() )
ここに末尾の;が抜けてるので、直書きの場合に動かなかったのでは?(全体を””の中に入れると、改行がない状態になるので)
御意、ご指摘の通り、凡ミスのセイですネ。
更に、>『全体を””の中に入れると、改行がない状態になるので』は、
改行のChar(1000013)変換処理も不要となる、オマケもありますネ!
結局、WebビューアのURL欄に下式を直接コピペするだけの、この方法が最も簡便ですネ。
"data:text/html,
<!-- saved from url=(0014)about:internet -->
<body style='width:100%;height:100%;border:0;margin:0;padding:0;background-color:black;'>
<table style='width:100%;height:100%;border:0;'>
<tr>
<td id='ClockCanvas' style='width:100%;height:100%;font-family:sans-serif;font-weight:bold;color:white;background-color:black;text-align:center;'>
</td>
</tr>
</table>
<script>
function wFig(num) {
var rtn;
if( num < 10 ) { rtn = '0' + num; }
else { rtn = num; }
return rtn;
};
function showClock() {
var nowTime = new Date();
var nowHour = wFig( nowTime.getHours() );
var nowMin = wFig( nowTime.getMinutes() );
var nowSec = wFig( nowTime.getSeconds() );
var msg = nowHour + ' : ' + nowMin + ' : ' + nowSec;
document.getElementById('ClockCanvas').innerText = msg;
};
setInterval('showClock()',1000);
</script>
</body>"
【★式訂正報告★】
その後の検証で、data:スキームURL送信の場合、MOTWおまじない句
(上記赤字打消線部分)は敢えて必要ないようです。
※以前検証時に表示できなかったのは、JavaScriptのタイプミスが原因だったようです。
Last edited by Hiro (2019-04-22 18:33:23)
Offline
便乗質問です。
HiroさんのwebビューアのURL欄にいれるものでfont-size:30ptにしてみたところ
PCでは文字が大きくなりますが、FMGoのiPadだと文字が小さくなってしまいます。
(実際にはiPadもフォントサイズが大きくなりますが、それでも小さい。)
これこGoの仕様によるものでしょうか?
恐らく、プラットフォームOS付属のWebエンジンの仕様の違いでしょう。
FMのWebビューアは、OSデフォルトブラウザの間借り機能ですから・・・。
Offline
以下の問題でしょう。
FileMaker Go 15 の Web ビューアでは、data URL の画像が小さい縮尺で描画される
https://support.filemaker.com/s/answerv … =000025818
<meta name="viewport" content="initial-scale=1.0" /> を追加しましょう。
Offline
iPad / iPhone などスクリーンサイズと解像度のバランスがPCとは異なる端末の場合、
HTML側で適切な記述を行う必要があります。
HiroさんのHTMLの body タグの前に
<meta name='viewport' content='width=device-width,initial-scale=1'>
を追加してみてください。
Offline
皆様、丁寧にご指導いただきまして、大変助かりました。
レジストリをいじって、内部ブラウザのバージョンを変更するなども試してみたのですが、うまくいかず、途方にくれていました。
これ以外にも、画像ファイルを読み込む等の処理もあり、悩んでいたのですが、解決することができそうです。
ありがとうござました。
便乗質問い関してもありがとうございました。
Goでも問題なく表示が出来るようになりました。
Pages: 1
[ Generated in 0.143 seconds, 11 queries executed - Memory usage: 553.05 KiB (Peak: 573.95 KiB) ]