この記事では主にASPピクチャーインピクチャー広告挿入の実装方法を各記事で紹介していますので、困っている方は参考にしてください。
多くの人が各記事にピクチャー・イン・ピクチャー広告を追加する方法を提供していますが、これらのいわゆる方法では、広告を囲むテキストのピクチャー・イン・ピクチャー効果を真に実現することはできず、左または右に配置することしかできません。これから説明する方法は、まさに新浪や捜狐のようなピクチャー・イン・ピクチャーの広告効果を実現することができる。
まず、間違った div+CSS メソッドについて話しましょう。誤解されないように願います。
<div id=outer style=float:left;><div id=inner style=float:left;margin:0;width:200px;height:200px;></div>テキストコンテンツ</div>
上記は左揃えの影響としか考えられません。テーブルや iframe を利用して実装されるメソッドは他にもたくさんありますが、それはこれにほかなりません。
では、各記事にピクチャー・イン・ピクチャー広告をバッチで追加する効果を実際に実現するにはどうすればよいでしょうか?これはフィールドをインターセプトすることで実行できます。コードは 2 つあります。
最初の段落では、記事コンテンツの文字数を分析し、広告のコードを挿入します。
Dim LeftContent,MidAdContent,RightContent,ModifyContent,headlen,tempStr,headAdStr,tailAdStr'' は、適切な数の文字列をインターセプトします if len(ArticleContent)<320 then headlen=200else headlen=320end iftempStr=ArticleContentLeftContent=InterceptString(tempStr,headlen)'インターセプトされたテキスト コンテンツを取得します RightContent=Right(ArticleContent,Len(ArticleContent)-Len(LeftContent))ModifyContent=LeftContent &<div style=float:left;><script language=javascript src=http://www.eryi.org/ad.js></script></div>& RightContent
上記は、DIV+JS を介して広告を挿入する方法です。広告コードは ad.js ファイルに配置されます。table+JS を使用して、または iframe を直接使用して挿入することもできます。いずれの場合も、広告が回り込むようにプロパティを左揃えまたは右揃えに設定する必要があります。
次の第 2 段落は、ピクチャー・イン・ピクチャー広告コードの判断です。
Function InterceptString(txt,length)Dim x,y,ii,c,ischines,isascii,tempStrtxt=trim(txt)x = len(txt)y = 0if x >= 1 then for ii = 1 to xc=asc(mid (txt,ii,1))if c< 0 または c >255 then '説明は漢字です y = y + 2 ischines=1 isascii=0else '説明は ASCII コードです y = y + 1 ischines=0 isascii=1end if'長さが定義された部分文字列の長さを超える場合、機密文字列が含まれているかどうかを判断し、y > の場合はそれらを分離します。 = 長さの場合、 ischines=1 かつ StrCount(left(trim(txt),ii),<a)=StrCount(left(trim(txt),ii),</a>) txt = left(trim(txt),ii) '制限された文字列長 exit for else if isascii=1 then x=x+1 end if end if next InterceptString = txtelse InterceptString = end ifEnd Function' 文字列が出現する回数を決定します関数 StrCount(Str,SubStr) Dim iStrCount Dim iStrStart Dim iTemp iStrCount = 0 iStrStart = 1 iTemp = 0 Str=LCase(Str) SubStr=LCase(SubStr) iStrStart < Len(Str) の間実行 iTemp = Instr(iStrStart,Str,SubStr,vbTextCompare) If iTemp <=0 then iStrStart = Len(Str) Else iStrStart = iTemp + Len (SubStr) iStrCount = iStrCount + 1 End If ループ StrCount = iStrCountEnd 関数
New Cloud Web サイト管理システムを例に挙げます。まず、静的な記事ページを拡張するコード ファイル /inc/NewsChannel.asp を見つけて (他の CMS も同様です)、最初のコード部分を 248 行目の前に挿入します。 HtmlContent = Replace(HtmlContent, {$ArticleContent}, ArticleContent)これをページに追加します。適切になるまで 2 番目のコードを挿入し、その行の ArticleContent を ModifyContent に変更します。