メインコンテンツまでスキップ
バージョン: 4.6.2-saas

Web/JavaScriptエージェント FAQ

Q. 初期化コードを挿入すべきHTMLが多すぎます。

A. エージェントを適用する必要があるHTMLで共通して追加されているJavaScriptファイルがあれば、そのファイル内でスクリプトを実行できるようにできます。

HTML

<html>
<head>
...
<script src="./netfunnel.js" defer></script>
...
</head>
</html>

NetFUNNEL.JS

var scriptNF = document.createElement("script");
scriptNF.setAttribute("data-nf-client-id", "{{CLIENT_ID}}");
scriptNF.src = "{{AGENT_URL}}";
document.head.appendChild(scriptNF);

Q. NetFunnelの関数でエラーが発生します。

A. NetFunnelが提供する開始・終了関数は、エージェントファイルが正常にダウンロードされた後で実行する必要があります。 これらの関数が定義される前に呼び出すと、「関数が定義されていない」というエラーが発生することがあります。 以下のようにページのロード後にNetFunnelの関数を実行するようにしてください。

window.addEventListener('load', function () {
nfStart({
projectKey: "{{PROJECT_KEY}}",
segmentKey: "{{SEGMENT_KEY}}",
}, function() {
nfCallback()
}
);
});

Q. NetFunnelの関数で型に関するエラーが発生します。

NetFunnelが提供する開始・終了関数はwindowオブジェクトに割り当てられます。 そのため、TypeScriptを利用している場合は、windowオブジェクトにNetFunnel関連の型を追加する必要があります。 プロジェクトのルートまたはsrc内にglobal.d.tsファイルを作成するか、グローバル型を宣言するファイルに下記のコードを追加してください。

global.d.ts

interface Window {
Netfunnel: {
devtoolsAddListener: (callback: (isOpen: boolean) => void) => void;
devtoolsLaunch: () => void;
};
NFStart: (options: { projectKey: string; segmentKey: string }, callback?: (response: any) => void) => void;
nfStart: (options: { projectKey: string; segmentKey: string }, callback?: (response: any) => void) => void;
NFStartSection: (options: { projectKey: string; segmentKey: string }, callback?: (response: any) => void) => void;
nfStartSection: (options: { projectKey: string; segmentKey: string }, callback?: (response: any) => void) => void;
NFStop: (options: { projectKey: string; segmentKey: string }, callback?: (response: any) => void) => void;
nfStop: (options: { projectKey: string; segmentKey: string }, callback?: (response: any) => void) => void;
NFStopSection: (options: { projectKey: string; segmentKey: string }, callback?: (response: any) => void) => void;
nfStopSection: (options: { projectKey: string; segmentKey: string }, callback?: (response: any) => void) => void;
getNetfunnelVersion: () => string;
}