URLを画像表示させる方法について

文字列(1行)にapiから入ってきた画像のURLを「レコードの詳細を表示する」画面ではURLの表示ではなくサムネイル表示させたいのですが、どうやれば表示できるか教えていただけませんでしょうか。

ススムさんこんにちは。

https://developer.cybozu.io/hc/ja/community/posts/115010384026-%E7%94%BB%E5%83%8F%E3%81%AE%E8%A1%A8%E7%A4%BA%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6

の、江田さんの回答が参考になるかと思います。

Shotaro様

 お世話になっております。

ススムです。

 

江田さんの回答が参考になるとのことでしたが、

ちょっと分からなかったため再度、ご説明させていただきます。

たとえば、APIでフィールド(文字列1行)に以下のURLが入ってきた時に

詳細画面ではURLの表示ではなく画像の表示をしたいのですが。

http://wws.tv-asahi.co.jp/doraemon/cast/img/doraemon.jpg

ススムさん

文字列1行フィールドは、受け取ったURLの文字列を表示させて(必要であれば)

他に設置したスペースフィールドに、画像を表示させる、というのはいかがでしょうか?

Shotaroさま

 

>文字列1行フィールドは、受け取ったURLの文字列を表示させて(必要であれば)

>他に設置したスペースフィールドに、画像を表示させる、というのはいかがでしょうか?

→この方法はどのように行えばよろしいでしょうか。

※受け取ったURLは毎回必ず画像表示させる必要があります。

ススムさん

受け取ったURLの値を文字列1行フィールドに入れる処理と一緒に、

上記リンク先のカスタマイズのやり方で、スペースフィールドに画像表示させればいいかと思います。

Shotaroさま

 

色々と教えていただきまして、ありがとうございます。

結局、文字列1行フィールドにURLが入ったらスペースに画像として表示させるようにしました。

ですが、詳細画面で画像を見ると、画像がスペースの枠より大きいとスペースの枠にスクロールがついてしまい、

とても見づらく、勝手に画像が縮小するようにはならないでしょうか。

 

ちなみにjavascriptは以下でおこなっています。

 

(function () {
“use strict”;

function displayscratch5(event) {

var record = event[‘record’];

if (record[‘url5’][‘value’] === undefined){return;}
if (record[‘url5’][‘value’].length == 0){return;}

var scratch5_image_Url = record[‘url5’][‘value’];
scratch5_image_Url = scratch5_image_Url.replace(‘http://’,‘https://’);
scratch5_image_Url = scratch5_image_Url.replace(‘watch?v=’,‘embed/’);

var elscratch5 = document.createElement(‘div’);
elscratch5.setAttribute(‘id’, ‘dsp_scratch5’);
elscratch5.setAttribute(‘name’, ‘dsp_scratch5’);

var elIframe = document.createElement(‘iframe’);
elIframe.setAttribute(‘src’, scratch5_image_Url);
elIframe.setAttribute(‘style’, ‘width: 550px; height: 555px’);
elIframe.setAttribute(‘frameborder’, ‘0’);
elscratch5.appendChild(elIframe);

var el = kintone.app.record.getSpaceElement(‘scratch5’);
el.appendChild(elscratch5);

var elParent = el.parentNode;
elParent.setAttribute(‘style’, ‘width: 550px; height: 555px’);
}

kintone.events.on(‘app.record.detail.show’, displayscratch5);
})();