LoginSignup
0
0

More than 1 year has passed since last update.

FileMaker Web ビューア

Last updated at Posted at 2022-08-09

基本的には URL を指定するが、下記の様な感じで HTML 自体を書くことも可能。

"data:text/html,
<html>
・
・
・
・
</html>"

全体を " (ダブルクォーテーション)で囲う必要があるので、html 内で " は使えないので、'(シングルクオーテーション)で置き換えるなどの対応が必要。

要は、データ URI スキームなので、メモ帳とかも埋め込める。

"data:text/html, <html contenteditable>"

なので、画像もいけるっぽい。

"data:image/png;base64,エンコードした文字列"

Java Script

Java Script も動くが、script タグの中の改行が除去されてしまうので、 // を使ってコメントアウトしようとすると意図しない挙動になるので注意。

例えば、下記の様なソースを指定したとすると、 alt 関数は動きますが modify 関数は動きません。

<html>
<head>
<script type='text/javascript'>
    function alt(){
        window.alert('!!!!!');
    }
    // Before to After
    function modify() {
        document.getElementById('test').textContent = 'After';
    }
</script>
<title>JSテスト</title>

</head>
<body>
<button onclick='alt()'>!</button><br>
<button onclick='modify()'>modify</button>
<p id='test'>
Before
</p>
</body>
</html>

FileMaker クライアントで見ててもよく分からないのですが、WebDirect 使って Chrome とかのデベロッパーツールを使うと下記の様な感じになってることがわかります。

image.png

// Before to After から変なことになってますが、そもそも script タグ内の改行が全部無くなってる様に見えます。

結果として、下記の様な感じで途中からコメントアウトされてしまい、 modify 関数が定義されてない状態になるわけです。

<script type="text/javascript">
     function alt(){              window.alert('!!!!!');          }     // Before to After     function modify() {         document.getElementById('test').textContent = 'After';     }      
</script>

と言うことで、script タグ内でコメント書きたい場合には、ブロックコメントを使うしかなさそうです。

<script type='text/javascript'>
    function alt(){
        window.alert('!!!!!');
    }
    /* Before to After */
    function modify() {
        document.getElementById('test').textContent = 'After';
    }
</script>

これなら、改行がなくなっても大丈夫。

image.png

ちなみに、この挙動は 「Web ビューアの設定 > Web アドレス」 で指定した場合は発生せず、「指定」から「計算式の指定」で設定した場合のみ発生する模様。

つまり、
スクリーンショット 2022-08-23 10.31.23.png
ここで指定する分には改行は除去されない。

が、
スクリーンショット 2022-08-23 10.33.12 1.png
こっちで指定すると入力された内容から改行が取り除かれる。(スペースに置換される?)

どちらにせよ、HTML はテキストエディタなどから貼り付けるケースが大半だと思うので、「計算式の指定」ではなく「Web アドレス」に貼り付けた方が良さそう。

どうしても「計算式の指定」で設定したい場合には、 を行末に入れれば改行される。
めんどいのでテキストエディタの行末置換で を入れるとかでも良いかも。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0