PHPで外部サイトからニュースを切り出して表示させているのですが
ニュースを切り出した箇所にURLを改変するJavaScriptを組み込んでいます。
静的ページでJavaScriptを稼働させると正常に動作して指定箇所のURLを書き換えます。
しかしPHPで外部から読み込ませると正常に動作してくれません。
外部から動的ロードされたデータに対してJavaScriptを動作させるにはどうしたら良いでしょうか?
body onload は試しましたが駄目でした。
何方かお力添えをお願い致します。
【現在のソース】
※動的に読み込んだニュースデータの相対参照URLに指定ドメインを付与したいです。
<!-- 動的ロード箇所 -->
<ul id="news">
<a href="/news/0123456789.html"></a>
</ul>
<!-- ここからURL書き換えscripts-->
<script type="text/javascript">
kitou();
function kitou()
{
var a = document.getElementById('news').getElementsByTagName('a');
var i = 0;
var output;
for( i = 0; i < a.length; i++ )
{
a[i].href = a[i].href.replace( document.domain, 'www.google.co.jp' );
}
}
</script>
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
良く意味が分からないのですが、ロード完了時に実行したいなら、window.onloadを使用すればいいのでは?
window.onload=function(){
//ロード完了時に実行させたいこと
};
No.1
- 回答日時:
>外部から動的ロードされたデータ
のロードのタイミングはいつなのでしょうか?
サーバ側で読み込んでから編集して出力しているのか、ajaxなどを利用してクライアント側でロードしているのか?
>body onload は試しましたが駄目でした。
サーバ側で処理を終えているのなら、onloadでも問題ないはずですが、ajaxなどの場合は受信処理が終わってからでないと、まだそのデータが存在しないので当然処理されません。受信処理と合せて行なうか、あるいは、受信処理のcallbackとして実行するようにするかなどが必要でしょう。
しかし、どうもタイミングの問題というよりも
前回の質問( http://oshiete.goo.ne.jp/qa/6612566.html )のつづきだとするならば、そちらの質問文で
>>『 データ抜き出し元が相対参照でURLが記述されている為 』
となっているのに対し、ご提示のスクリプトだとドメイン部分を差し替える処理になっているので、処理は実行されているけれど『相対参照記述されているurlが正しく変更されていない』だけのようにも想像されます。
オリジナルのHTMLソースが
<a href="/news/6548s.html">
のときに、読み込み後のa.hrefの値が「 ttp://aaa.bb.jp/xxx/yyy/news/6548s.html」を示すとして、このaaa.bb.jp部分だけ変更したところで、「xxx/yyy/」の部分がもともとの参照とは違っているはずではないでしょうか?(ドメイン直下のurlを扱う場合だけは、うまく動作する可能性がありますが…)
根拠なしの推測では、こちら(↑)の方が怪しそうな気がしますので、御確認ください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript gasについて 1 2022/05/31 21:51
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- PHP PHPを使って、別サイトの一部を取得して表示したいのです。。 1 2023/01/18 21:45
- JavaScript 画像の表示位置 3 2022/12/23 08:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
読み込んだQRコードをフォーム...
-
特定の文字列を複数抜き出した...
-
var exports = exports || {}; ...
-
ローディングアニメーションの...
-
GASでチェックボックスを一括of...
-
追加ボタンを押した際に ok ボ...
-
①入力フォーム→②確認表示画面→③...
-
GASに文字列として関数を入れる...
-
GASでGoogleフォームの自動返信...
-
React hooksが値を返して配列変...
-
初心者です。gulpでコンパイル...
-
ジャバスクリプトについて。
-
プログラムについて。
-
HTMLタグに複数のクラスを設定...
-
Googleフォームで選択肢に応じ...
-
ボタンを押したあとに画像を表...
-
disabled プロパティが表示され...
-
出発駅A、到着駅Bを選択すると...
-
Colorboxがうまく設置できません
-
Cookieに保存されない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エラー(型が一致しません。)...
-
VB6でユーザー定義型がNothing...
-
TextChangeイベントが発生しない
-
#define 文
-
ifdefとenum
-
LRESULTとHRESULT
-
fetchでreturnで戻り値
-
関数定義について質問です 架空...
-
PHP + MySQL で登録時に重複チ...
-
時間差を取得結果を求めるには
-
【javaScript】KeyboardEventで...
-
jQueryの関数内の変数について...
-
VBS 名前定義の確認→ありかなし...
-
JavaScriptの即時関数をアロー...
-
イベントリスナーの重複登録に...
-
PHP requireの後にJS実行
-
VB.NET の配列の要素数
-
python: 直角三角形の種類を求...
-
配列の要素番号を取得するには?
-
c++ cmathとmath.h
おすすめ情報